介绍
本篇文章给大家分享的是有关使用C语言编译一个学生信息管理系统,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
具体内容如下
/* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下:系统(“clear")这个系统调用的是linux, windows里面用系统(“cls"),) (1)问题描述 ,学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,电子邮件等。试设计一学生信息管理系统,使之能提供以下功能: 1。系统以菜单方式工作 2。学生信息录入功能(学生信息用文件保存)——输入 3。学生信息浏览功能,输出 4。查询,排序功能,算法 ,1,按学号查询 ,2,按姓名查询 5。学生信息的删除与修改(可选项) (2)功能要求 1。界面简单明了; 2。有一定的容错能力,比如输入的成绩不在0 ~ 100之间,就提示不合法,要求重新输入; 3。最好用链表的方式实现 *//* 界面: - - - - - - - - - - - - -学生信息管理系统- - - - - - - - - - - - - - - - - - ,1只学生信息录入 ,2只学生信息浏览 ,3只学生信息查询 1。按学号查询, 2。按姓名查询 ,4只学生信息的删除与修改 -------------------------------------------- */# include & lt; stdio.h> # include & lt; stdlib.h> # include & lt; fcntl.h> # include & lt; unistd.h> struct student_info  { ,int s_no; ,char [20]名称; ,int 年龄; ,char 性[10]; ,int 分娩; ,char addr [30]; ,char tele [30]; ,char 电子邮件[30]; ,struct student_info *下; }; void 菜单(无效); int info_input(无效); int info_review(无效); int info_search(无效); int 主要(空白) { ,菜单(); ,return 0; } void 菜单(空白) { ,int 选择; ,系统(“clear"); ,printf(“- - - - - - - - - - - - -学生信息管理系统- - - - - - - - - - - - - - - - - - \ n"); ,printf (“\ t \ t1只学生信息录入\ n"); ,printf (“\ t \ t2只学生信息浏览\ n"); ,printf (“\ t \ t3只学生信息查询\ n"); ,printf (“\ t \ t4只学生信息的删除与修改\ n"); ,printf (“\ t \ t0只退出系统\ n"); ,printf (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n"); ,printf(“请输入您的选择(0 ~ ~ 4):,“); ,scanf (“% d",,,选择); ,switch (选择),{ ,case 0: 退出才能(0); 打破才能; ,case 1: info_input才能(); 打破才能; ,case 2: info_review才能(); 打破才能; ,case 3: info_search才能(); 打破才能; ,} ,while (choose 祝辞,4,| |,choose & lt;, 1), { ,printf(“您输入了一个无效的选择,请重新输入(0 - 4):,“); ,scanf (“% d",,,选择); ,} }/* ,ssize_t 阅读(int fd, void *缓冲区,size_t 数); ,ssize_t 写(int fd, const void *缓冲区,size_t 数); ,int 开放(const char *路径名,,int 旗帜,mode_t 模式); ,FILE * fopen (const char *路径,const char *模式); ,size_t 写入文件(const void * ptr, size_t 大小,size_t nmemb, FILE 才能;*流); */int creat_list(空白) { ,return 0; }//,1只学生信息录入 int info_input(空白) { ,struct student_info * head =, NULL,, * rear =,空; ,FILE *《外交政策》; ,int flag =, 1;=,head (struct student_info *) malloc (sizeof (struct student_info));=,rear 头; ,while (国旗),{ ,struct student_info * stu =,空;=,stu (struct student_info *) malloc (sizeof (struct student_info)); ,//FILE * fopen (const char *路径,const char *模式);=,,fp  fopen (“stuinfo.txt",,“a + b"); ,fseek (fp, sizeof (struct student_info), 2); ,系统(“clear"); ,printf(“- - - - - -请依次输入学生的信息——\ n"); ,printf(“学号:,“); ,scanf (“% d",,,斯图→s_no); ,printf(“姓名:,“); ,scanf (“% s",,斯图→名称); ,printf(“年龄:,“); ,scanf (“% d",,,斯图→年龄); ,printf(“性别:,“); ,scanf (“% s",,斯图→性); ,printf(“出生年月:,“); ,scanf (“% d",,,斯图→出生); ,printf(“地址:,“); ,scanf (“% s",,斯图→addr); ,printf(“电话:,“); ,scanf (“% s",,斯图→电话); ,printf(“电子邮件:,“); ,scanf (“% s",,斯图→电子邮件); ,写入文件(斯图,sizeof (struct student_info),, 1,, fp); ,后→next =,斯图;=,rear ,斯图; ,文件关闭(fp); ,printf(“继续输入请按1,返回上一级菜单请按2,退出请按0:,“); ,scanf (“% d",,,标志); ,if (flag ==, 0), { 退出才能(0); ,} ,if (flag ==, 1), { 继续才能; ,} ,if (flag ==, 2), { 菜单才能(); 打破才能; ,} ,}=,后方→next 零; ,return 0; }//,2只学生信息浏览 null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null使用C语言编译一个学生信息管理系统