展开全部

这个学期一开学两个星期没有上课,就搞了一个下面的小软件636f70793231313335323631343130323136353331333239303233:

学生籍贯信息管理系统

可以实现功能:1.学生学号、姓名、籍贯等信息的录入

2.学生信息保存到磁盘,并能够从磁盘读取、显示

3.学生信息查询:

1)用学号查询并输出所查到信息

2)用姓名查询并输出查到的所有学生信息

3)用籍贯查询并输出查到的所有学生信息

4.学生信息处理:包括修改、增加、删除学生信息

附录: 源程序代码(用C写的)

#include

#include

#define LEN sizeof(struct student)

#define NULL 0

struct student

{long num;

char name[20];

char jg[20];

struct student *next;

};

int n=0;

void save(struct student *head)

{ FILE *fp;

char filename[20];

struct student *p1;

printf("Please input the filename\n");

scanf("%s",filename);

if((fp=fopen(filename,"w"))==NULL)

{printf("can't open file\n");

return;

}

for(p1=head;p1!=NULL;p1=p1->next)

{fprintf(fp,"%ld",p1->num);

fputc('\t',fp);

fprintf(fp,"%s",p1->name);

fputc('\t',fp);

fputc('\t',fp);

fprintf(fp,"%s",p1->jg);

fputc('\n',fp);

}

free(p1);

fclose(fp);

}

void print(struct student *head)

{ struct student*p;

printf("\nNow,these information is:\n");

p=head;

if(head!=NULL)

do

{printf("%ld\t%s\t\t%s\n",p->num,p->name,p->jg);

p=p->next;

}while(p!=NULL);

}

struct student *creat()

{ struct student *head,*p1,*p2;

char ch;

p1=p2=(struct student *)malloc(LEN);

printf("\n Welcome to student jiguan system!\n");

printf("Please input one's num,name and jiguan\n");

printf("\"0 0 0\":exit\n");

scanf("%ld%s%s",&p1->num,p1->name,p1->jg);

head=NULL;

while(p1->num!=0)

{n=n+1;

if(n==1)head=p1;

else p2->next=p1;

p2=p1;

p1=(struct student *)malloc(LEN);

scanf("%ld%s%s",&p1->num,p1->name,p1->jg);

}

p2->next=NULL;

free(p1);

printf("Save?Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='y'||ch=='Y') save(head);

print(head);

return(head);

}

void loadf()

{FILE *fp;

int N=n;

char filename[20];

struct student *p1;

p1=(struct student *)malloc(LEN);

printf("Please input the filename\n");

scanf("%s",filename);

if((fp=fopen(filename,"r"))==NULL)

{printf("cannot open file\n");

return;

}

printf("File has been open:\n");

for (;N!=0;N--)

{ fscanf(fp,"%ld%s%s",&p1->num,p1->name,p1->jg);

printf("%ld\t%s\t\t%s\n",p1->num,p1->name,p1->jg);

}

free(p1);

fclose(fp);

}

void xsearch(struct student*head)

{long num;

struct student *p1,*p2;

int c=0;

printf("Please input the search number:\n");

scanf("%ld",&num);

for(p1=head;p1!=NULL;p1=p1->next)

{ if(num==p1->num)

{c=c+1;

printf("%ld\t%s\t\t%s\n",p1->num,p1->name,p1->jg);

}

}

printf("There are %d results!\n",c);

}

void nsearch(struct student*head)

{char name[20];

struct student *p1,*p2;

int c=0;

printf("Please input the search name:\n");

scanf("%s",name);

for(p1=head;p1!=NULL;p1=p1->next)

{ if(strcmp(name,p1->name)==0)

{c=c+1;

printf("%ld\t%s\t\t%s\n",p1->num,p1->name,p1->jg);

}

}

printf("There are %d results!\n",c);

}

void jsearch(struct student*head)

{char jg[20];

struct student *p1,*p2;

int c=0;

printf("Please input the search jiguan:\n");

scanf("%s",jg);

for(p1=head;p1!=NULL;p1=p1->next)

{ if(strcmp(jg,p1->jg)==0)

{c=c+1;

printf("%ld\t%s\t\t%s\n",p1->num,p1->name,p1->jg);

}

}

printf("There are %d results!\n",c);

}

void search(struct student*head)

{

int a=4;

for(;a!=0;)

{printf("\nWelcome to student juguan system!\n");

printf("\n search information system\n");

printf(" 0:exit\n");

printf(" 1:use xuehao search\n");

printf(" 2:use name search\n");

printf(" 3:use jiguan search\n");

printf("Please select:\n");

scanf("%d",&a);

clrscr();

switch(a)

{case 0:printf("Thank you for playing!Bye!\n"); break;

case 1:xsearch(head);break;

case 2:nsearch(head);break;

case 3:jsearch(head);break;

default:printf("Choose error,choose again!\n");break;

}

}

}

struct student *del(struct student *head,struct student *p1)

{ struct student *p2;

char ch;

if(p1==NULL) printf("No result,can't manage!\n");

else{if(p1==head) head=p1->next;

else

{ for(p2=head;p2->next!=p1;p2=p2->next);

p2->next=p1->next;}

n=n-1;

printf("Save the change?Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='y'||ch=='Y') save(head);

}

free(p1);

free(p2);

return(head);

}

void change(struct student *head,struct student *p1)

{ char ch;

if(p1==NULL) printf("No result,can't manage!\n");

else{printf("Please input the new information of it.\n");

scanf("%ld%s%s",&p1->num,p1->name,p1->jg);

printf("Save the change?Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='y'||ch=='Y') save(head);

}

}

struct student * add(struct student *head,struct student *p1)

{ int a;

char ch;

struct student *p0,*p2;

p0=p2=(struct student *)malloc(LEN);

if(p1==NULL) printf("No result,can't manage!\n");

else{

printf("Please input the new student's information.\n");

scanf("%ld%s%s",&p0->num,p0->name,p0->jg);

printf("Where would you like to add?\n");

printf(" 1:add before it\n");

printf(" 2:add after it\n");

scanf("%d",&a);

switch(a)

{ case 1:if(p1==head)

{ p0->next=p1;head=p0;}

else

{ for(p2=head;p2->next!=p1;p2=p2->next);

p0->next=p1;

p2->next=p0;

}

break;

case 2:if(p1->next==NULL)

{ p1->next=p0;

p0->next=NULL;

}

else

{ p2=p1->next;

p0->next=p2;

p1->next=p0;

}

break;

default:printf("Choose error,choose again!\n");

break;

}

n=n+1;

printf("Save the change?Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='Y'||ch=='y') save(head);

}

free(p0);

free(p1);

free(p2);

return(head);

}

struct student* inman(struct student*head)

{ char ch;

int a=4;

long num;

char name[20];

char jg[20];

struct student *p1;

printf("Input it's feature,so you can deal with it.\n");

printf(" 0:exit\n");

printf(" 1:input it's number\n");

printf(" 2:input it's name\n");

printf(" 3:input it's jiguan\n");

scanf("%d",&a);

clrscr();

switch(a)

{ case 0:p1=NULL;break;

case 1:printf("Please input the search number:\n");

scanf("%ld",&num);

for(p1=head;p1!=NULL;p1=p1->next)

{ if(num==p1->num)

{ printf("%ld\t%s\t\t%s\n",p1->num,p1->name,p1->jg);

printf("Is this one you want?\n");

printf("Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='Y'||ch=='y')

break;

}

}

break;

case 2:printf("Please input the search name:\n");

scanf("%s",name);

for(p1=head;p1!=NULL;p1=p1->next)

{ if(strcmp(name,p1->name)==0)

{ printf("%ld\t%s\t\t%s\n",p1->num,p1->name,p1->jg);

printf("Is this one you want?\n");

printf("Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='Y'||ch=='y')

break;

}

}

break;

case 3:printf("Please input the search jiguan:\n");

scanf("%s",jg);

for(p1=head;p1!=NULL;p1=p1->next)

{ if(strcmp(jg,p1->jg)==0)

{ printf("%ld\t%s\t\t%s\n",p1->num,p1->name,p1->jg);

printf("Is this one you want?\n");

printf("Y/N\n");

scanf("%c",&ch);

scanf("%c",&ch);

if(ch=='Y'||ch=='y')

break;

}

}

break;

default:printf("Choose error,choose again!\n");p1=NULL;break;

}

if(p1==NULL) printf("That's all!\n");

return p1;

}

struct student * manage(struct student *head)

{ struct student *p1;

int a=4;

p1=(struct student*)malloc(LEN);

for(;a!=0;)

{ printf("\nWelcome to the student jiguan system!\n");

printf("\n manage information system \n");

printf("What are you going to do?\n");

printf(" 0:exit\n");

printf(" 1:add information\n");

printf(" 2:delete information\n");

printf(" 3:change information\n");

scanf("%d",&a);

clrscr();

switch(a)

{case 0:printf("Thank you for playing!Bye!\n");break;

case 1:p1=inman(head);

head=add(head,p1);

print(head);

break;

case 2:p1=inman(head);

head=del(head,p1);

print(head);

break;

case 3:p1=inman(head);

change(head,p1);

print(head);

break;

default:printf("Choose error,choose again!\n");break;

}

}

return(head);

}

void main()

{struct student *head;

int a;

for(a=5;a!=0;)

{ printf("\n Welcome to Student Jiguan System!\n");

printf(" MENU\n");

printf(" 0:exit\n");

printf(" 1:write\n");

printf(" 2:read\n");

printf(" 3:search\n");

printf(" 4:manage\n");

printf(" Please select:\n");

scanf("%d",&a);

clrscr();

switch(a)

{ case 0:printf("Thank you for using it!Bye!\n");break;

case 1:head=creat();break;

case 2:loadf();break;

case 3:search(head);break;

case 4:head=manage(head);break;

default :printf("Choose error,choose again!");break;

}

}

}

本回答由网友推荐

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

学生籍贯信息管理系统java_跪求c语言学生籍贯管理系统程序设计源代码相关推荐

  1. 停车场管理系统 java_跪求JAVA编写的停车场管理系统源代码

    展开全部 不知道这样行不行,随便写的,你62616964757a686964616fe58685e5aeb931333332643864看看: import java.util.Scanner; pu ...

  2. 已创建了一个包含学生学号、身高、性别的学生身高信息表并输出到屏幕,学生信息从records.txt文件读取。 编写一个函数 void reverse(Seqlist *lp); 功能是对已建立的学生身

    已创建了一个包含学生学号.身高.性别的学生身高信息表并输出到屏幕,学生信息从records.txt文件读取.(结构体数组版本) (1)30' 编写一个函数 void reverse(Seqlist * ...

  3. c语言学生成绩管理系统设计分析,参阅:C语言学生成绩管理系统设计

    <C语言学生成绩管理系统设计.doc>由会员分享,可免费在线阅读全文,更多与<C语言学生成绩管理系统设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...

  4. 高校教师工资管理系统java_基于jsp的高校职工工资管理系统-JavaEE实现高校职工工资管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的高校职工工资管理系统, 该项目可用各类java课程设计大作业中, 高校职工工资管理系统的系统架构分为前后台两部分, ...

  5. c语言输入学生成绩q退出,哭诉、拜求C语言学生成绩管理系统

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...

  6. C语言复杂的学生成绩管理系统,哭诉、拜求C语言学生成绩管理系统

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...

  7. C语言学生成绩管理系统运行退不出来,哭诉、拜求C语言学生成绩管理系统

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...

  8. C语言程序打印命令,跪求C语言程序读ID3v1信息从mp3文件并打印出来。 1)使用命令行输入一个MP3档案名称。 2)判断档案名称的分...

    满意答案 thta335evw 2013.06.24 采纳率:52%    等级:12 已帮助:6755人 #include #include #include int main(int argc,c ...

  9. 大学生高校学生管理信息系统设计与开发(论文文档word、程序设计、数据库文件)

    随着互联网技术的高速发展,信息化在管理上越来越深入被广泛的应用,信息管理系统的实施在技术上已逐步成熟.信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来 ...

最新文章

  1. Nacos源码更服务列表
  2. 注入器 过检测_连云港管道检测服务
  3. windows 下oracle 数据库 rman 备份
  4. ELF文件和BIN文件
  5. mysql 通过echo的方式写入数据库 中文乱码解决方案
  6. Linux系统中网络配置详解(一)
  7. 牛客网——程序员代码面试指南(更新ing)
  8. 使用ODAC将SqlServer数据库同步到oracle数据库
  9. 爬虫——八爪鱼采集器
  10. 卸载WPS后office图标异常解决办法
  11. Guava之Joiner笔记
  12. 数据库系统学习笔记(3)
  13. iqc工作职责和工作内容_iqc组长岗位职责介绍
  14. 【nginx】4xx,5xx 保持自定义header
  15. Photoshop - 批量处理(以批量修改图片像素为例)
  16. 服务器应用程序不可用解决方案!
  17. AI 新技术革命将如何重塑就业和全球化格局?深度解读 UN 报告(上篇)
  18. 酉变换 matlab,数字图像处理:原理与实践(MATLAB版)
  19. Vue 引入高德地图 vue-amap
  20. 提高工作效率,改善生活质量

热门文章

  1. SQL语句执行顺序是什么样的呢
  2. 重启 mysql_怎么重启MySQL服务,正确重启mysql
  3. 【毕业论文】| 基于Unity3D引擎的冒险游戏的设计与实现
  4. Java语言特性和技术特点探究
  5. 最好使的歌词编辑工具--Beslyric
  6. 手捉手教你撸个css渐变边框,实现王者荣耀头像框
  7. 暑假社会实践总结_Java—王少飞
  8. JavaScript深拷贝之递归方式
  9. HashMap的三种遍历方式
  10. python的读写文件代码_Python 读写文件的操作代码