C语言 物业费通讯录管理系统c语言

C语言成绩管理系统说明书(附程序)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言成绩管理系统说明书(附程序)
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩29页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢23521人阅读
&&& & & 大一上学期学习了C,学的不好,对C的理解仅限于编写一些简单的小程序,下学期刚开学,老师就要求我们用C编写一个学生信息管理系统,当时就蒙了,后来讲到需要文件操作,更傻了,当时就没怎么学,后来到处查找资料,向同学,老师请教,慢慢的从能够编写简单的文件写入,然后一步步将每一个函数实现,实现对其的写入,浏览,查询,计算,修改,最后完成删除。后面不断的对代码进行完善,到现在还有很多不足之处,需要和大家一同学习。
#include&stdio.h&
#include&stdlib.h&
#include&string.h&
typedef struct person
//定义结构体
char num[10];
char name[15]; //姓名
//英语成绩
//专业成绩
person per[100];
char filename[20];
//定义全局变量
//登陆函数 使系统更显完善
printf(&\n\n\n\t\t\t
学生信息管理系统\n\n&);
printf(&\t\t\t
版本号:2.0\n\n&);
printf(&\n\n\n\n\t\t\t
printf(&\t\t\t
C区**栋514寝\n&);
printf(&\n\n\t\t\t
Ace_cm_liu\n&);
printf(&\n\n\t\t\t
导演兼制作\n&);
system(&pause&);
int menu_filename()
system(&cls&);
printf(&请输入你要操作的文件名:&);
scanf(&\t%s&,filename);
//*********************************************************************//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
int menu_select()
//菜单选择系统函数
system(&cls&);
printf(&\t\t ╭═════════■□■□═══╮\n&);
printf(&\t\t│
学生信息管理系统
printf(&\t\t╰═══■□■□══════════╯\n&);
printf(&\t\t
┌─────────────—┐\n&);
printf(&\t\t
│ 1. 添加记录
2. 显示记录 │\n&);
printf(&\t\t
printf(&\t\t
│ 3. 信息查询
4. 数据计算 │\n&);
printf(&\t\t
printf(&\t\t
│ 5. 修改记录
6. 删除记录 │\n&);
printf(&\t\t
printf(&\t\t
│ 0. 退出程序
printf(&\t\t
└─────────────—┘\n&);
printf(&\t\t请您选择(0-6):&);
c=getchar();
}while(c&'0'||c&'6');
return (c-'0');
//字符减去’0‘得到的是数字整型//
//*********************************************************************//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
void add()
//成绩的录入与添加函数
int i=0,n=0;
char sign='y';
//首先定义sing='y'
system(&cls&);
//清屏函数
系统中调用
while(sign!='n'&&sign!='N')
//其实只有当输入N或n时才跳出循环
----学生纪录添加----\n&);
printf(&学号:\n&);
scanf(&\t%s&,per[i].num);
printf(&姓名:\n&);
scanf(&\t%s&,per[i].name);
printf(&年龄:\n&);
scanf(&\t%d&,&per[i].age);
printf(&英语:\n&);
scanf(&\t%d&,&per[i].en);
printf(&专业:\n&);
scanf(&\t%d&,&per[i].ji);
printf(&是否继续添加?(y/n)&);
scanf(&\t%c&,&sign);
system( &cls &);
}system(&pause&);
//等待命令
if((fp=fopen(filename,&a&))==NULL)
//以2进制形式进行文件尾追加//
printf(&cannot open the files\n&);
system(&pause&);
//如果文件出现错误 就返回
for(i=0;i&n;i++)
if(fwrite(&per[i],sizeof(person),1,fp)!=1)
//以2进制形式写入文件中//一次写入一个数组//
printf(&file write error\n&);
fclose(fp);
//关闭文件
system(&pasue&);
//*********************************************************************//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
void scan()
//显示记录
进行全面信息浏览
void amend();
//声明修改函数//
char sign='y';
int i=0,n;
system(&cls&);
if((fp=fopen(filename,&r&))==NULL)
//以2进制方式读取文件信息//
printf(&cannot open the files\n&);
system(&pause&);
while(!feof(fp))
//一直读取知道文件尾结束
fread(&per[i],sizeof(person),1,fp);
//以2进制方式将文件信息读到数组内存中//一次读取一个//
fclose(fp);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
for(n=0;n&i-1;n++)
//循环全部输出
printf(&\t%s \t%s \t\t%d \t%d \t%d\n&,per[n].num,per[n].name,per[n].age,per[n].en,per[n].ji);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
system(&pause&);
system(&cls&);
printf(&是否需要修改?(y/n)&);
scanf(&\t%c&,&sign);
if(sign!='n'&&sign!='N')
//选择是否在浏览后进行修改//
system(&pause&);
//*********************************************************************//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//数据查询//
void query()
//学生信息的不同方式查询
int i=0,n=0;
system(&cls&);
printf(&\t\n请选择查询方式:\n&);
printf(&\t┌──────┐\n&);
printf(&\t│1--模糊查询 │\n&);
printf(&\t│2------姓名 │\n&);
printf(&\t│3------学号 │\n&);
printf(&\t│4------返回 │\n&);
printf(&\t└──────┘\n&);
printf(&请输入你要查询的方式\n&);
scanf(&%d&,&m);
while(m!=1&&m!=2&&m!=3&&m!=4)
printf(&输入错误请重新查询\n&);
scanf(&%d&,&m);
if((fp=fopen(filename,&r&))==NULL)
//以2进制方式读取文件信息//
printf(&cannot open the files\n&);
system(&pause&);
while(!feof(fp))
fread(&per[i],sizeof(person),1,fp);
//以2进制方式将文件信息读到数组内存中//一次读取一个//
i++;n=n+1;
//模糊查询
char s[3];
//定义输入的文字所占的字节 /一个汉字占2个字节 外加一结尾符此处小心溢出
system(&cls&);
printf(&\t请输入想查询的姓:&);
scanf(&%s&,s);
for(i=0;i&n-1;i++)
//文件信息已经读取到数组中 此处进行循环用于下一语句的查找
if(per[i].name[0]==s[0]&&per[i].name[1]==s[1])
//比较per[i].name与所输入的前俩个字符是否相同//
printf(&\t学号: %s\n&,per[i].num);
printf(&\t姓名: %s\n&,per[i].name);
printf(&\t年龄: %d\n&,per[i].age);
printf(&\t英语: %d\n&,per[i].en);
printf(&\t计算机: %d\n&,per[i].ji);
printf(&\t
//姓名查询
char s[20];
printf(&\t请输入想查询的姓名:&);
scanf(&\t%s&,s);
while(strcmp(per[i].name,s)!=0&&i&n) i++;
//比较per[i].name与所输入姓名是否相同//
printf(&\t通讯录中没有此人!\n&);
system(&pause&);
printf(&\t学号: %s\n&,per[i].num);
printf(&\t姓名: %s\n&,per[i].name);
printf(&\t年龄: %d\n&,per[i].age);
printf(&\t英语: %d\n&,per[i].en);
printf(&\t计算机: %d\n&,per[i].ji);
//学号查询
char s[15];
printf(&请输入想查询的学号:&);
scanf(&\t%s&,s);
while(strcmp(per[i].num,s)!=0&&i&n)i++;
//比较per[i].name与所输入学号是否相同//
printf(&\t通讯录中没有此人!\n&);
system(&pause&);
printf(&\t学号: %s\n&,per[i].num);
printf(&\t姓名: %s\n&,per[i].name);
printf(&\t年龄: %d\n&,per[i].age);
printf(&\t英语: %d\n&,per[i].en);
printf(&\t计算机: %d\n&,per[i].ji);
fclose(fp);
system(&pause&);
//*********************************************************************//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//数据统计//
void date()
//定义临时数组用于交换时存放数组信息用于后面的交换//
int s[100];
int i=0,n=0;
int j,k,t;
system(&cls&);
printf(&\t\n选择排序方式:\n&);
printf(&\t┌──────┐\n&);
printf(&\t│1------英语 │\n&);
printf(&\t│2----计算机 │\n&);
printf(&\t│3----
总分 │\n&);
printf(&\t│4------返回 │\n&);
printf(&\t└──────┘\n&);
printf(&请输入你要排序的方式\n&);
scanf(&%d&,&m);
system(&cls&);
while(m!=1&&m!=2&&m!=3&&m!=4)
printf(&输入错误请重新输入\n&);
scanf(&%d&,&m);
if((fp=fopen(filename,&r&))==NULL)
//以2进制方式读取文件信息//
printf(&cannot open the files\n&);
system(&pause&);
while(!feof(fp))
//一直进行读取直至文件尾//
fread(&per[i],sizeof(person),1,fp);
i++;n=n+1;
for(i=0;i&n-1;i++)
//采用冒泡法进行排序//
for(j=i+1;j&n;j++)
if(per[j].en&per[k].en)
//排序//比较大小//
temp=per[k];per[k]=per[i];per[i]=
//当符合条件时进行数据交换//
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
for(i=0;i&n-1;i++)
printf(&\t%s \t%s \t\t%d \t%d \t%d\n&,per[i].num,per[i].name,per[i].age,per[i].en,per[i].ji);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
fclose(fp);
for(i=0;i&n-1;i++)
for(j=i+1;j&n;j++)
if(per[j].ji&per[k].ji)
temp=per[k];per[k]=per[i];per[i]=
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
for(i=0;i&n-1;i++)
printf(&\t%s \t%s \t\t%d \t%d \t%d\n&,per[i].num,per[i].name,per[i].age,per[i].en,per[i].ji);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
fclose(fp);
for(i=0;i&n-1;i++)
sum=per[i].en+per[i].
// 第一个数组用于数组间信息操作//
for(i=0;i&n-1;i++)
for(j=i+1;j&n;j++)
if(s[j]&s[k])
t=s[k];s[k]=s[i];s[i]=t;
//按照总分大小进行排序//
temp=per[k];per[k]=per[i];per[i]=
//随之使其数组相应顺序随总分大小一起排序//
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
for(i=0;i&n-1;i++)
printf(&\t%s \t%s \t\t%d \t%d \t%d \t%d\n&,per[i].num,per[i].name,per[i].age,per[i].en,per[i].ji,s[i]);
printf(&^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&);
fclose(fp);
system(&pause&);
//*********************************************************************//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
// 数据修改//
void amend()
int i=0,n=0;
char s[15];
system(&cls&);
printf(&\t\n请选择修改方式:\n&);
printf(&\t┌──────┐\n&);
printf(&\t│1------姓名 │\n&);
printf(&\t│2------学号 │\n&);
printf(&\t│3------返回 │\n&);
printf(&\t└──────┘\n&);
printf(&请输入你要修改的方式\n&);
scanf(&%d&,&m);
while(m!=1&&m!=2&&m!=3)
printf(&输入错误请重新修改\n&);
scanf(&%d&,&m);
if((fp=fopen(filename,&r&))==NULL)
//以2进制方式读取文件信息//
printf(&cannot open the files\n&);
system(&pause&);
while(!feof(fp))
fread(&per[i],sizeof(person),1,fp);
i++;n=n+1;
fclose(fp);
system(&cls&);
char s[20];
printf(&\t请输入想修改的姓名:&);
scanf(&\t%s&,s);
while(strcmp(per[i].name,s)!=0&&i&n) i++;
//进行比较 找到所需要的信息
printf(&\t通讯录中没有此人!\n&);
printf(&学号:\n&);
scanf(&\t%s&,per[i].num);
printf(&姓名:\n&);
scanf(&\t%s&,per[i].name);
printf(&年龄:\n&);
scanf(&\t%d&,&per[i].age);
printf(&英语:\n&);
scanf(&\t%d&,&per[i].en);
printf(&专业:\n&);
scanf(&\t%d&,&per[i].ji);
char s[15];
printf(&请输入想修改的学号:&);
scanf(&\t%s&,s);
while(strcmp(per[i].num,s)!=0&&i&n)i++;
printf(&\t通讯录中没有此人!\n&);
printf(&学号:\n&);
scanf(&\t%s&,per[i].num);
printf(&姓名:\n&);
scanf(&\t%s&,per[i].name);
printf(&年龄:\n&);
scanf(&\t%d&,&per[i].age);
printf(&英语:\n&);
scanf(&\t%d&,&per[i].en);
printf(&专业:\n&);
scanf(&\t%d&,&per[i].ji);
if((fp=fopen(filename,&w&))==NULL)
//进行修改后将信心重新写入文件中
printf(&cannot open the files\n&);
for(i=0;i&n-1;i++)
if(fwrite(&per[i],sizeof(person),1,fp)!=1)
printf(&file write error\n&);
fclose(fp);
printf(&信息已经修改成功\n&);
system(&pause&);
//*********************************************************************//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//数据删除//
void delet()
char s[10];
int i=0,n=0;
if((fp=fopen(filename,&r&))==NULL)
//以2进制方式读取文件信息//
printf(&cannot open the files\n&);
system(&pause&);
while(!feof(fp))
fread(&per[i],sizeof(person),1,fp);
//将文件信息读取到数组内存中//
i++;n=n+1;
fclose(fp);
if((fp=fopen(filename,&w&))==NULL)
//以2进制写入方式打开文件//
printf(&cannot open the files\n&);
system(&pause&);
printf(&学生学号:&);
scanf(&%s&,s);
for(i=0;i&n-1;i++)
if(!(strcmp(per[i].num,s)==0))
//找到与其匹配的信息进行操作//
如果条件符合就写入否者跳过这组数据此数据就是所需删除的
fwrite(&per[i],sizeof(person),1,fp)!=1;
//以2进制方式将信息从内存中写入文件磁盘//
fclose(fp);
printf(&数据删除成功&);
system(&pause&);
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//运用switch语句进行菜单选择//
void main()
menu_filename();
//引用全局变量文件名
//循环使用主界面直到遇到结束命令
switch(menu_select())
// 函数的调用//
printf(&\t\t *^_^*学生记录添加 *^_^*\n&);
printf(&\t\t *^_^*学生信息浏览 *^_^*\n&);
printf(&\t\t *^_^*学生信息查询 *^_^*\n&);
printf(&\t\t *^_^*数据计算 *^_^*\n&);
printf(&\t\t *^_^*数据修改 *^_^*\n&);
printf(&\t\t *^_^*数据删除 *^_^*\n&);
printf(&\n\t\t谢谢使用,再见!\n&);
printf(&\n\t\t&);
system(&pause&);
system(&pause&);
//学生信息管理系统前期功程完成,还有待修改使其功能更加完善代码更加简洁巧妙
thank you!//
// 如果这段代码好用,那它是Ace_cm_liu写的。
//如果不好用,我不知道是谁写的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:43486次
排名:千里之外
原创:16篇
(1)(3)(9)(5)C语言。小区物业管理系统设计。姓名,电话,住址,停车位号,房租面积。要录入,浏览,查询。就OK_百度知道C语言 物业费管理系统 完成小区物业费用管理系统设计。 功能要求: (1)新住户信息的添加。(_百度知道c语言实现学生信息管理系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
c语言实现学生信息管理系统
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 c语言图书管理系统 的文章

 

随机推荐