实验一 编写学生学籍管理的应用程序

来源:互联网 发布:淘宝北京慧博和合 编辑:程序博客网 时间:2024/04/29 09:40

实验目的

C语言环境下(Turbo CVC编写一个简单的管理学生学籍的应用程序。

通过本实验,使学生能够在C语言环境下熟练地编写基本的应用程序。

实验意义

通过本实验,使学生能够进一步理解C语言中结构和数组的使用,熟悉基本的输入和输出方法。

实验背景

某班级有30名学生,每名学生的资料包括学号、姓名、性别、籍贯、年级、专业、班级、学习课程等项目,要求可以输入每名学生的资料,可以显示并修改每名学生的资料。在程序运行之初,可以选择输入、修改或显示。

实验步骤及要求

1、设计学生资料的存储结构

2、建立10名学生的初始资料

3、修改2名学生的专业和籍贯信息

4、删除2名学生的所有信息

5、显示现有学生的所有信息

6、提交源程序清单及程序注释

7、提交程序使用方法和程序使用界面

8、上机演示实验结果

实验学时

3学时

#include<iostream>#include<cstdio>#include<cstring>using namespace std;struct stu  //建立结构体{    int num;    char name[20];    char sex;    char adress[100];    char grade[100];    char professional[100];    char classes[100];    char course[100];}stu[1000];int i=0;void input()  //执行输入成员资料{    int n,t;    printf("输入要建立资料的人数,每项资料占一行\n");    scanf("%d",&n);    t=i;    for(;i<t+n;i++)    {        printf("输入学号\n");        scanf("%d",&stu[i].num);        printf("输入学生姓名\n");        scanf("%s",stu[i].name);        printf("输入学生性别\n");        getchar();        scanf("%c",&stu[i].sex);        printf("输入学生籍贯\n");        scanf("%s",stu[i].adress);        printf("输入学生年级\n");        scanf("%s",stu[i].grade);        printf("输入学生专业\n");        scanf("%s",stu[i].professional);        printf("输入学生班级\n");        scanf("%s",stu[i].classes);        printf("输入学生课程\n");        scanf("%s",stu[i].course);    }}void modify()  //进行修改{    int n,m,j;    char str1[100];    printf("输入要修改的人数\n");    scanf("%d",&n);    while(n--)    {        printf("输入要修改学生的学号\n");        scanf("%d",&m);        for(j=0;j<=i;j++)        {            if(stu[j].num==m) //判断要修该的学生            {                printf("删除输入yes,其他输入no\n");                scanf("%s",str1);                if(!strcmp(str1,"yes"))  //是否进行删除                {                    while(j<i)                    {                        stu[j]=stu[j+1];                        j++;                    }                    i--;                    break;                }                printf("修改结束输入yes\n");                printf("输入要修改的信息num,name,classes,course,grade,professional,sex\n");                scanf("%s",str1);                while(strcmp(str1,"yes"))  //判断修改哪一个信息                {                    if(!strcmp(str1,"num"))                    { scanf("%d",&stu[j].num); }                    else if(!strcmp(str1,"name"))                    {scanf("%s",stu[j].name);}                    else if(!strcmp(str1,"classes"))                    {scanf("%s",stu[j].classes);}                    else if(!strcmp(str1,"course"))                    {scanf("%s",stu[j].course);}                    else if(!strcmp(str1,"grade"))                    {scanf("%s",stu[j].grade);}                    else if(!strcmp(str1,"professional"))                    {scanf("%s",stu[j].professional);}                    else if(!strcmp(str1,"sex"))                    {scanf("%c",&stu[j].sex);}                    printf("输入要修改的信息num,name,classes,course,grade,professional,sex\n");                    printf("修改结束输入yes\n");                    scanf("%s",str1);                }            }        }    }}void show(){    int j;    for(j=0;j<i;j++)  //输出所有成员信息    {        printf("%d %s %c %s %s %s %s %s\n",stu[j].num,stu[j].name,stu[j].sex,stu[j].adress,               stu[j].grade,stu[j].professional,stu[j].classes,stu[j].course);    }}int main(){   char str[100];   printf("请选择操作input,modify,show\n");   while(scanf("%s",str)!=EOF)   {       if(!strcmp("input",str))  //判断执行哪一个操作       {  input();  }       else if(!strcmp("modify",str))       {  modify();}       else if(!strcmp("show",str))       { show();}       printf("请选择操作input,modify,show\n");   }   return 0;}


原创粉丝点击