C语言实现学生选修课程系统设计
本文实例为大家分享了C语言学生选修课程系统的具体代码,供大家参考,具体内容如下
我编程的时间不长,所以这里面肯定有一些错误,或者存在更好的解决方案,欢迎大神上课!谢谢!
ps:寻找一起学习的小伙伴!
代码:
/********************************* *主题:学生选修课程系统设计 * *设计要求: *1.添加功能:程序能够任意添加课程和学生记录,可提供选择界面供用户选择所需要添加的类别,要求编号要唯一,如果添加了重复编号的记录是,则提示数据添加重复并取消添加。 *2.查询功能:可根据编号、姓名等信息对已添加的同学和课程记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 *3.显示功能:可显示当前系统中所有学生和课程的记录,每条记录占据一行。 *4.编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 *5.删除功能:主要实现对已添加的学生和课程记录进行删除。如果当前系统中没有对应的记录,则提示“记录为空!”并返回操作。 *6.统计功能:能根据多种参数进行统计。能统计学生人数、课程门数、选修某门课程的学生的相关信息。 * *********************************/ /* *Verson:2.0(basic) * *History:完成课程信息的录入,查询等操作;完成选课功能(2017-05-0520:30:00-01:20:00) * *Author:universes * * *********************************/ /* *Verson:1.9 * *History:完成了学生信息的查询操作(2017-05-0422:00:32-01:11:00) * *Author:universes * * ********************************/ /* *Verson:1.5 * *HIstory2:添加查重功能(2017-05-0223:39:19-01:06:05) *History1:完成了用户对课程和学生信息的添加操作(没有查重功能)(2017-05-0222:06:13-23:39:19) * *Author:universes * * ********************************/ /* *Verson:1.0 * *History:完成了用户的选择功能框架(2017-04-1922:06:13-22:40:47) * *Author:universes * * ********************************/ #include#include #include #include #defineSIZE_STU10 #defineSIZE_COU10 #defineSIZE_SEL10 //////////////函数声明部分 voidhome(void); voidstu_operate(void); voidcou_operate(void); voidstatistic(void); voidchoose(void); voiddelete_sel(int); //--学生信息部分: voidinput_stu(void); voidsearch_stu(void); voidsearch_stu_id(void); voidsearch_stu_name(void); voidshow_stu(void); voidedit_stu(void); voidrenew_stu(void); voiddelete_stu(void); //--课程信息部分: voidinput_cou(void); voidsearch_cou(void); voidsearch_cou_id(void); voidsearch_cou_name(void); voidshow_cou(void); voidedit_cou(void); voidrenew_cou(void); voiddelete_cou(void); /*学生信息结构体*/ structstudent_info{ charstu_ID[9]; charstu_name[5]; charsex[9]; charage[9]; charcollage[9]; chargrade[9]; charcontact[9]; }stu[SIZE_STU]; /*课程信息结构体*/ structcourse_info{ charcourse_ID[9]; charcourse_name[9]; charproperty[9]; charperiod[9]; charcredit[9]; chartime[9]; intpeople; }cou[SIZE_COU]; /*选课记录结构体*/ structselect{ ints;//存放学生信息的数组下标 intc;//存放课程信息的数组下标 }sel[SIZE_SEL]; //全局变量i,j,x分别是学生,课程,选课信息数组下标 inti=-1; intj=-1; intx=-1; intmain(void){ //进入欢迎界面 home(); return0; } //欢迎界面 voidhome(void){ printf("\n-------------------------欢迎进入选课系统!----------------------"); inth; printf("\n\n请选择你要进行的操作:"); printf("\n\n1.学生操作"); printf("\n2.课程操作"); printf("\n3.开始选课"); printf("\n4.选课统计"); printf("\n5.退出系统"); printf("\n"); printf("\n请输入:"); scanf("%d",&h); system("cls"); switch(h){ case1: stu_operate(); break; case2: cou_operate(); break; case3: choose(); break; case4: statistic(); break; default: system("cls"); printf("BYE!"); break; } } /*开始选课*/ voidchoose(void){ charstu_id[10],cou_id[10]; printf("\n-------------------------欢迎进入选课系统!----------------------"); //输入选课学生信息 printf("\n\n请输入选课人学号:"); fflush(stdin); scanf("%s",stu_id); inth,flag=0; for(h=0;h<=i;h++){ if(strcmp(stu[h].stu_ID,stu_id)==0){ flag=0; break; }else{ flag=1; } } if(flag||i==-1){ printf("\n不存在此学号\n"); system("pause"); system("cls"); home(); } //录入姓名信息 x++; sel[x].s=h; //输入课程信息 printf("\n\n请输入选修课程号:"); fflush(stdin); scanf("%s",cou_id); flag=0; for(h=0;h<=j;h++){ if(strcmp(cou[h].course_ID,cou_id)==0){ flag=0; break; }else{ flag=1; } } if(flag||j==-1){ printf("\n不存在此课程号\n"); x--; system("pause"); system("cls"); home(); } //录入课程信息 sel[x].c=h; cou[h].people++; printf("\n录入成功!\n"); system("pause"); system("cls"); home(); } /*删除选课记录*/ voiddelete_sel(intq){//删除第q+1条记录 /*注意!本函数没有将x减1,请在函数外手动减1(考虑外层函数循环的需要)*/ inth; cou[sel[q].c].people--; for(h=q;q 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。