问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言 基于数组的"学生信息管理系统"

发布网友 发布时间:2022-05-25 15:58

我来回答

4个回答

热心网友 时间:2023-11-14 08:51

我以前看到别人答疑的时候给发过一个类似的,你参考,自己改改吧,真心不难,就是复杂.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(void)
{
FILE *fp;
int fd;
int n,i,j,k;
char s[100];
char buff[100],buff_data[100][200],c;
char id[30],name[20],age[10];
while(1)
{
printf("欢迎使用学生管理系统\n1.添加学生信息\n2.查看学生信息\n3.删除学生信息\n4.插入学生信息\n5.清空所有信息\n6.退出系统\n\n输入序号:");
scanf("%d",&n);
switch(n)
{
case 1:{
if((fd = open("stud.txt", O_APPEND|O_WRONLY, 0666)) == -1)
{
printf("open error\n");
exit(1);
}
printf("输入ID:");
scanf("%s",id);
printf("输入名字:");
scanf("%s",name);
printf("输入年龄:");
scanf("%s",age);
sprintf(buff, "%s\t\t%s\t\t%s\n", id, name, age);
write(fd, buff, strlen(buff));
close(fd);
i++;
break;
}
 case 2:{
printf("\nID\t\tname\t\tage\n");
fp = fopen("stud.txt", "rt");
c = fgetc(fp);
while(c != EOF)
{
putchar(c);
c = fgetc(fp);
}
printf("\n");
fclose(fp);
break;
}
case 3:{
printf("输入要删除的学号:");
scanf("%s",&s);
i = 0;
j = 0;
fp = fopen("stud.txt", "rt");
c = fgetc(fp);
while(c != EOF)
{
buff_data[i][j++]=c;
if(c=='\n')
{
i++;
j=0;
}
c = fgetc(fp);
}
fclose(fp);
              
for(k = i;k>0;k--)
{
if(strncmp(buff_data[k],s,strlen(s)-1)==0)
{
n = k;
break;
}
}
for(j=n-1;j<i-1;j++)
{
strcpy(buff_data[j],buff_data[j+1]);
}
if((fd = open("stud.txt", O_TRUNC|O_WRONLY, 0666)) == -1)
{
printf("open error\n");
exit(1);
}
for(j=0;j<i-1;j++)
write(fd, buff_data[j], strlen(buff_data[j]));
close(fd);
break;
}
case 4:{
printf("输入要插入的位置:");
scanf("%d",&n);
i = 0;
j = 0;
fp = fopen("stud.txt", "rt");
c = fgetc(fp);
while(c != EOF)
{
if(n==i)
i++;
buff_data[i][j++]=c;
if(c=='\n')
{
i++;
j=0;
}
c = fgetc(fp);
}
fclose(fp);
if((fd = open("stud.txt", O_APPEND|O_WRONLY|O_CREAT, 0666)) == -1)
{
printf("open error\n");
exit(1);
}
printf("输入ID:");
scanf("%s",id);
printf("输入名字:");
scanf("%s",name);
printf("输入年龄:");
scanf("%s",age);
sprintf(buff, "%s\t\t%s\t\t%s\n", id, name, age);
strcpy(buff_data[n], buff);
if((fd = open("stud.txt", O_TRUNC|O_WRONLY|O_CREAT, 0666)) == -1)
{
printf("open error\n");
exit(1);
}
for(j=0;j<i;j++)
write(fd, buff_data[j], strlen(buff_data[j]));
close(fd);
break;
 }
case 5:{
if((fd = open("stud.txt", O_TRUNC, 0666)) == -1)
{
printf("open error\n");
exit(1);
}
close(fd);
break;
}
case 6:
exit(1);
}
}
}

热心网友 时间:2023-11-14 08:51

慢慢写吧,不难,就是麻烦

热心网友 时间:2023-11-14 08:52

我去,这个让我写得花3小时

热心网友 时间:2023-11-14 08:52

我也来等待答案。共同学习
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
急,小弟该学哪种街舞呢? 少儿街舞popping好还是breaking好 急!!!我适合学breaking还是popping?现在身高165,体重115 。 我该学什么街舞舞种?适合我的 卧龙生的武侠小说,当年各种被撕页,省略号让人记忆犹新 电信话费用了700多,可是没欠费,这是什么情况? 电信交网费送手机说是最低消费69除了这69外还会再乱扣费吗谁用过 我的GPRS/3G数据流量套餐费是20元,小计22元是什么意思?有没有知道... 为什么我都没怎么用,并且没打电话,只是用QQ浏览器浏览网页就欠费了... 劳动关系确立证明有哪些 上海公司拍牌照需要准备什么?有什么条件? 钢结构外墙材料都有哪些 钢结构墙体用什么材料 上海牌照需要哪些材料? 考研初试完要马上准备复试吗 在上海以企业名义拍车牌要什么手续,材料 钢结构设计的房屋使用什么钢材料? 公司车上沪C牌照需要哪些资料? 大众车系好还是国产车好 大众是合资车还是国产车? 当项目经理需要具备哪些条件? 5000-6000元的笔记本什么牌子和型号的性价比高? 我想买个5000到6000块的笔记本电脑,什么牌子和配置的比较好??? 什么牌子的笔记本最好?性价比最高?样子最好看?综合而言5000左右买什么笔记本最好? 离婚协议书一定要打印黑色字体吗 天秤座的配对星座是什么座? 下载什么软件可以看完整电视剧 求,每当我走过老师窗前,伴奏音乐! 求五线谱(钢琴) 每当我走过老师的窗前 每当我走过老师的窗前怎么唱伴奏? c语言基于数组的学生信息管理系统 C++问题:使用动态数组实现角色信息存取系统(或者学生管理系统) 用数组编写的学生成绩管理系统的c程序 学生信息管理系统的数据结构程序设计源程序,用数组实现 如何用c语言做基于数组的学生信息管理系统 要求N个专业 M个班 每班P个人 C语言 学生学籍管理系统 用结构体数组 学生学籍管理系统.(用结构体数组 C++程序 行色匆匆的色是什么意思? 行色匆匆,色解释 行色匆匆的色的意思是指情景,景象吗?(不是行色)快啊!!! 叻沙是什么 行色匆匆是什么意思? 行色匆匆是什么意思呢? 行色匆匆的意思是什么? 娘惹菜是什么东西啊? 国防科技大学的专业 国防科学技术大学有那些专业 马来西亚的叻沙是什么?叻沙辣不辣? 国防科学技术大学指挥信息系统工程专业(指挥自动化技术干部)本科会像地方大学一样分方向吗? 国防科技大学学什么