学生籍贯信息管理系统java_跪求c语言学生籍贯管理系统程序设计源代码
展开全部
这个学期一开学两个星期没有上课,就搞了一个下面的小软件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语言学生籍贯管理系统程序设计源代码相关推荐
- 停车场管理系统 java_跪求JAVA编写的停车场管理系统源代码
展开全部 不知道这样行不行,随便写的,你62616964757a686964616fe58685e5aeb931333332643864看看: import java.util.Scanner; pu ...
- 已创建了一个包含学生学号、身高、性别的学生身高信息表并输出到屏幕,学生信息从records.txt文件读取。 编写一个函数 void reverse(Seqlist *lp); 功能是对已建立的学生身
已创建了一个包含学生学号.身高.性别的学生身高信息表并输出到屏幕,学生信息从records.txt文件读取.(结构体数组版本) (1)30' 编写一个函数 void reverse(Seqlist * ...
- c语言学生成绩管理系统设计分析,参阅:C语言学生成绩管理系统设计
<C语言学生成绩管理系统设计.doc>由会员分享,可免费在线阅读全文,更多与<C语言学生成绩管理系统设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...
- 高校教师工资管理系统java_基于jsp的高校职工工资管理系统-JavaEE实现高校职工工资管理系统 - java项目源码...
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的高校职工工资管理系统, 该项目可用各类java课程设计大作业中, 高校职工工资管理系统的系统架构分为前后台两部分, ...
- c语言输入学生成绩q退出,哭诉、拜求C语言学生成绩管理系统
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...
- C语言复杂的学生成绩管理系统,哭诉、拜求C语言学生成绩管理系统
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...
- C语言学生成绩管理系统运行退不出来,哭诉、拜求C语言学生成绩管理系统
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...
- C语言程序打印命令,跪求C语言程序读ID3v1信息从mp3文件并打印出来。 1)使用命令行输入一个MP3档案名称。 2)判断档案名称的分...
满意答案 thta335evw 2013.06.24 采纳率:52% 等级:12 已帮助:6755人 #include #include #include int main(int argc,c ...
- 大学生高校学生管理信息系统设计与开发(论文文档word、程序设计、数据库文件)
随着互联网技术的高速发展,信息化在管理上越来越深入被广泛的应用,信息管理系统的实施在技术上已逐步成熟.信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来 ...
最新文章
- Nacos源码更服务列表
- 注入器 过检测_连云港管道检测服务
- windows 下oracle 数据库 rman 备份
- ELF文件和BIN文件
- mysql 通过echo的方式写入数据库 中文乱码解决方案
- Linux系统中网络配置详解(一)
- 牛客网——程序员代码面试指南(更新ing)
- 使用ODAC将SqlServer数据库同步到oracle数据库
- 爬虫——八爪鱼采集器
- 卸载WPS后office图标异常解决办法
- Guava之Joiner笔记
- 数据库系统学习笔记(3)
- iqc工作职责和工作内容_iqc组长岗位职责介绍
- 【nginx】4xx,5xx 保持自定义header
- Photoshop - 批量处理(以批量修改图片像素为例)
- 服务器应用程序不可用解决方案!
- AI 新技术革命将如何重塑就业和全球化格局?深度解读 UN 报告(上篇)
- 酉变换 matlab,数字图像处理:原理与实践(MATLAB版)
- Vue 引入高德地图 vue-amap
- 提高工作效率,改善生活质量