请从键盘上输入一个字符给字符变量 m(利用 getchar()函数
实现),判断该字符是大小字母还是小写字母,将结果显示在屏幕上。
#include <stdio.h>
int main() {
char m;
printf("请输入一个字符:\n");
m = getchar();
if (m >= 97 && m <= 122) {
printf("%c是小写字母\n", m);
}
else if (m >= 65 && m <= 90) {
printf("%c是大写字母\n", m);
}
else {
printf("%c不是字母\n", m);
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:实验目的
实验内容
采用顺序表方案实现一个简易的学生信息管理系统。其中,学生信息包括学号、姓名、性别、年龄、专业。该管理系统能提供建立、查询、删除和增加学生信息等功能。要求:
代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//*******数据类型定义*******
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
struct Student
{
int no; //学号
char name[10]; //姓名
char sex; //性别
int age; //年龄
char major[12]; //专业
};
typedef struct Student ElemType;
typedef struct
{
ElemType *data;
int length;
int listsize;
}SeqList; //学生顺序表类型
int studentnumber=0;
//*******基本操作定义*******
void InitList_Seq(SeqList &L); //顺序表初始化
void CreatList_Seq(SeqList &L,ElemType a[],int n); //建立长度为n的顺序表
void Show_Seq(SeqList L); //显示顺序表信息
int LocateElem_Seq(SeqList L, int e); //按值e查询顺序表
//void Copy_Stu(ElemType &tar_stu, ElemType src_stu); //学生信息拷贝操作
//*******功能操作定义*******
void Create(SeqList &L); //建立学生表
void Locate(SeqList L); //查询学生
void Insert(SeqList &L); //增加学生
void Delete(SeqList &L); //删除学生
void Save(SeqList L); //存储信息
//*******基本操作实现*******
void InitList_Seq(SeqList &L) //顺序表初始化
{
L.data = (ElemType *)malloc(LIST_INIT_SIZE * sizeof(ElemType));
if(!L.data) exit(0);
L.length = 0; //顺序表中当前所含元素个数为 0
L.listsize = LIST_INIT_SIZE;
}
void CreatList_Seq(SeqList &L,ElemType a[],int n) //建立长度为n的顺序表
{
InitList_Seq(L);
//完备性考虑,在创建之前,还应该判断n与L.listsize的大小关系
if(n>L.listsize){
printf("输入错误\n");
exit(0);
}
for(int i = 0; i < n; i++)
{
L.data[L.length]= a[i];
L.length++;
}
}
void Show_Seq(SeqList L){
printf("学号\t姓名\t性别\t年龄\t专业\n");
for(int i=0;i<L.length;i++){
printf("%d\t%s\t%c\t%d\t%s\n",L.data[i].no,L.data[i].name,L.data[i].sex,L.data[i].age,L.data[i].major);
}
}
int LocateElem_Seq(SeqList L, int e){
int result=0;
for(int i=0;i<LIST_INIT_SIZE;i++){
if(L.data[i].no==e){
result=e;
break;
}
}
return result;
}
//*******功能操作实现*******
void Create(SeqList &L){
InitList_Seq(L);
FILE * input;
input=fopen("StudentInformation.txt","r");
int i=0;
while(!feof(input)){
fscanf(input,"%d\t%s\t%c\t%d\t%s\n",&L.data[i].no,L.data[i].name,&L.data[i].sex,&L.data[i].age,L.data[i].major);
i++;
}
}
void Locate(SeqList L) //查询学生
{
int no;
printf("请输入需查询学生的学号:");
scanf("%d", &no);
int index = LocateElem_Seq(L, no);
if(index == 0)
printf("没有此学号的学生\n");
else
{
printf("该学生信息如下:\n");
printf("学号\t姓名\t性别\t年龄\t专业\n");
printf("%d\t%s\t%c\t%d\t%s\n", L.data[index-1].no, L.data[index-1].name, L.data[index-1].sex, L.data[index-1].age, L.data[index-1].major);
}
}
void Insert(SeqList &L){ //增加学生
while(1){
printf("请输入学号:");
scanf("%d\n",&L.data[studentnumber].no);
printf("请输入姓名:");
scanf("%s\n",L.data[studentnumber].name);
printf("请输入性别:");
scanf("%c\n",&L.data[studentnumber].sex);
printf("请输入年龄:");
scanf("%d\n",&L.data[studentnumber].age);
printf("请输入专业:");
scanf("%s\n",L.data[studentnumber].major);
int flag=0;
for(int i=0;i<studentnumber;i++){
if(L.data[i].no==L.data[studentnumber].no){
printf("输入重复,请重新输入\n");
printf("**********************\n");
flag=1;
}
}
if(flag==0){
printf("添加成功");
break;
}
}
studentnumber++;
}
void Delete(SeqList &L){ //删除学生
int a;
char b;
printf("请输入学号:");
scanf("%d\n",&a);
for(int k=0;k<studentnumber;k++){
if(a==L.data[k].no){
printf("是否删除?(y或n)");
scanf("%c\n",&b);
if(b=='n'){
printf("取消删除");
break;
}else{
for(int i=k;i<studentnumber;i++){
L.data[k].no=L.data[k+1].no;
strcpy(L.data[k].name,L.data[k+1].name);
L.data[k].sex=L.data[k+1].sex;
L.data[k].age=L.data[k+1].age;
strcpy(L.data[k].major,L.data[k+1].major);
}
printf("删除成功\n");
studentnumber--;
}
}else{
printf("查无此人\n");
break;
}
}
}
void Save(SeqList L){
FILE * output;
output=fopen("StudentInformation.txt","w");
for(int i=0;i<L.length;i++){
fprintf(output,"%d\t%s\t%c\t%d\t%s\n",L.data[i].no,L.data[i].name,L.data[i].sex,L.data[i].age,L.data[i].major);
}
fclose(output);
printf("保存成功\n");
}
//*******学生信息管理系统*******
int main()
{
SeqList StuList;
int choice = 0;
do
{
printf("****************学生信息管理****************\n");
printf("******************1----建立****************\n");
printf("******************2----查询****************\n");
printf("******************3----删除****************\n");
printf("******************4----增加****************\n");
printf("******************5----存储****************\n");
printf("******************0----退出****************\n");
printf("*******************************************\n");
printf("请选择(0-4): ");
scanf("%d", &choice);
switch(choice)
{
case 1:
{
Create(StuList);
break;
}
case 2:
{
Locate(StuList);
break;
}
case 3:
{
Delete(StuList);
break;
}
case 4:
{
Insert(StuList);
}
case 5:
{
Save(StuList);
}
case 0:
break;
default:
printf("输入错误!\n");
}
}while(choice);
return 0;
}