b2c信息网

您现在的位置是:首页 > 最近新闻 > 正文

最近新闻

学生信息管理系统c(学生信息管理系统c语言程序设计报告)

hacker2022-06-10 12:25:23最近新闻82
本文目录一览:1、用c语言设计一个学生信息管理系统,急啊.谢谢

本文目录一览:

用c语言设计一个学生信息管理系统,急啊.谢谢

#includenbsp;“stdio.h“#definenbsp;SIZEnbsp;50intnbsp;sum=0;staticnbsp;charnbsp;*str[]={“C“,“Math“,“English“};structnbsp;studentnbsp;nbsp;{nbsp;intnbsp;n;nbsp;nbsp;nbsp;nbsp;longnbsp;num;nbsp;nbsp;nbsp;nbsp;charnbsp;name[10];nbsp;nbsp;nbsp;nbsp;intnbsp;age;nbsp;nbsp;nbsp;nbsp;charnbsp;addr[10];nbsp;nbsp;nbsp;nbsp;intnbsp;score[3];nbsp;nbsp;nbsp;nbsp;floatnbsp;avr;nbsp;nbsp;}nbsp;stu[SIZE];/*nbsp;1--Inputnbsp;*/voidnbsp;fin(){nbsp;intnbsp;i,j,s;charnbsp;f;nbsp;nbsp;FILEnbsp;*fp;nbsp;nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Warring!nbsp;Input?nbsp;(nbsp;y/nnbsp;)nbsp;:nbsp;777“);nbsp;nbsp;f=getchar();f=getchar();nbsp;nbsp;if(f!=‘y‘)nbsp;nbsp;nbsp;nbsp;return;nbsp;nbsp;fp=fopen(“fstu“,“wb“);nbsp;nbsp;for(i=0;iamp;lt;SIZE;i++)nbsp;nbsp;nbsp;nbsp;{nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;i=%dnbsp;Inputnbsp;No.nbsp;(i=-1,return)nbsp;i=?nbsp;“,i+1);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;scanf(“%d“,amp;j);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;ifnbsp;(j==-1)nbsp;{nbsp;printf(“

nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;*nbsp;*nbsp;*nbsp;Pressnbsp;anynbsp;keynbsp;return!nbsp;*nbsp;*nbsp;*

“,j);nbsp;nbsp;nbsp;fclose(fp);getch();return;nbsp;}nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;elsenbsp;{nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Inputnbsp;num,name,age,addrnbsp;:nbsp;“);nbsp;nbsp;nbsp;stu[i].n=i+1;nbsp;nbsp;nbsp;scanf(“%ld%s%d%s“,amp;stu[i].num,stu[i].name,amp;stu[i].age,stu[i].addr);nbsp;nbsp;nbsp;s=0;nbsp;nbsp;nbsp;for(j=0;jamp;lt;3;j++)nbsp;nbsp;nbsp;nbsp;{nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Inputnbsp;%-7snbsp;scorenbsp;:nbsp;“,str[j]);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;scanf(“%d“,amp;stu[i].score[j]);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;if(stu[i].score[j]amp;gt;100)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;{nbsp;j--;continue;}nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;s+=stu[i].score[j];nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp;nbsp;stu[i].avr=s/3.0;nbsp;nbsp;nbsp;fwrite(amp;stu[i],sizeof(structnbsp;student),1,fp);nbsp;}nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp;fclose(fp);}/*nbsp;2--Findnbsp;*/voidnbsp;ffind(){nbsp;intnbsp;i,j;nbsp;nbsp;FILEnbsp;*fp;nbsp;nbsp;fp=fopen(“fstu“,“rb“);nbsp;nbsp;for(i=0;fread(amp;stu[i],sizeof(structnbsp;student),1,fp)!=0;i++);nbsp;nbsp;sum=i;nbsp;nbsp;rewind(fp);nbsp;nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;*nbsp;*nbsp;*nbsp;Findnbsp;studentnbsp;datanbsp;*nbsp;*nbsp;*

“);nbsp;nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Inputnbsp;n=1nbsp;--nbsp;%dnbsp;:nbsp;“,sum);nbsp;nbsp;scanf(“%d“,amp;j);nbsp;nbsp;fseek(fp,(j-1)*sizeof(structnbsp;student),0);nbsp;nbsp;printf(“

nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Displaynbsp;studentnbsp;%dnbsp;datanbsp;:nbsp;

“,j);nbsp;nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*nbsp;*

“);nbsp;nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;No.nbsp;Numnbsp;nbsp;nbsp;nbsp;Namenbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Agenbsp;Addrnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Cnbsp;nbsp;Mathnbsp;En.nbsp;Aver.

“);nbsp;nbsp;printf(“nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;-----------------------------------------------------

“);nbsp;nbsp;fread(amp;stu[i],sizeof(structnbsp;student),1,fp);nbsp;nbsp;printf(“%12d%7

学生信息管理系统编程(c语言)

挺好的一个题目啊

但我可不愿意帮人写作业

网上很多类似的,你可以参考下:

#include stdio.h

#include string.h struct student {

char name[30];

float math;

float chinese;

float english;

float average;

};

int MenuChoice(void);

int EnterAccount(void);

void Enter(struct student *fst);

void Amend(struct student *src);

void Delete(struct student *next);

void Print(struct student *out);

main()

{

struct student one[100] = {0}, *look = one;

int menu, t;

while ((menu = MenuChoice()) != 0)

if (menu = 1 menu = 4 (t = EnterAccount())) {

look = one + t;

switch (menu) {

case 1:

Enter(look);

break;

case 2:

if (strcmp(look-name, ""))

printf("学号:%d\n姓名: %s\n语文成绩: %.1f\n数学成绩:%.1f\n英语成绩: %f\n平均"成绩:%.1f\n",

t, look-name, look-chinese, look-math, look-english, look-average);

else

printf("对不起,该学号不存在!\n");

break;

case 3:

Amend(look);

break;

case 4:

Delete(look);

break;

}

}

else if (menu == 5)

Print(one);

else

printf("错误的请求!\n");

return 0;

}

int MenuChoice(void)

{

int choice;

printf("请选择:\n"

"1 - 新建学生信息\n"

"2 - 查找学生信息\n"

"3 - 修改学生信息\n"

"4 - 删除学生信息\n"

"5 - 打印学生信息\n"

"0 - 退出\n");

scanf("%d", choice);

return choice;

}

int EnterAccount(void)

{

int ret;

printf("请输入学号:\n");

scanf("%d", ret);

if (ret = 1 ret = 100)

return ret -1;

return 0;

}

void Enter(struct student *fst)

{

printf("请输入学生姓名、语文成绩、数学成绩、英语成绩和平均成绩\n");

scanf("%s%f%f%f%f", fst-name, fst-chinese, fst-math, fst-english, fst-average);

}

void Amend(struct student *src)

{

int t;

printf("请选择:\n"

"1 - 修改学生姓名\n"

"2 - 修改学生语文成绩\n"

"3 - 修改学生数学成绩\n"

"4 - 修改学生英语成绩\n"

"5 - 修改学生平均成绩\n");

scanf("%d", t);

switch (t) {

case 1:

printf("请输入学生的新名字\n");

scanf("%s", src-name);

break;

case 2:

printf("请输入学生新的语文成绩\n");

scanf("%f", src-chinese);

break;

case 3:

printf("请输入学生新的数学成绩\n");

scanf("%f", src-math);

break;

case 4:

printf("请输入学生新的英语成绩\n");

scanf("%f", src-english);

break;

case 5:

printf("请输入学生新的平均成绩\n");

scanf("%f", src-average);

break;

}

}

void Delete(struct student *next)

{

strcpy(next-name, "");

next-math = next-english = next-chinese = next-average = 0.0;

}

void Print(struct student *out)

{

struct student *up;

for (up = out; out up[100]; out++)

if (strcmp(out-name, ""))

printf("学号:%d\n姓名: %s\n语文成绩: %.1f\n数学成绩:%.1f\n英语成绩: %.1f\n平均成绩:%.1f\n",

out-up + 1, out-name, out-chinese, out-math, out-english, out-average);

}

c语言编写学生信息管理系统

/*好吧,其实你可以上网看看,那么多的,你可以自己修改下*/

#include stdio.h

#include malloc.h

#include string.h

#include stdlib.h

#define NULL 0

#define LEN sizeof(struct student)

struct student

{

char name[20];

long int num;

char sex[4];

int age;

char address[30];

double tele_num;

char aihao[20];

struct student *next;

};//定义一个结构题

int TOTAL_NUM = 0;//学生总数

struct student *head = NULL;

void welcome (); //欢迎界面

void mainmenu (); //主界面

void record (); //记录数据

void insert(struct student *stu); //插入数据

void display(struct student *stu); //显示一个学生的信息

void displayAll (); //显示所有学生的信息

void query_by_num (); //按学号查询学生信息

void readData (); //读取文件里学生的信息

void writeData (); //向文件写入学生信息

void freeAll (); //清空链表内容

void del (); //删除学生信息

void change (); //更改学生信息

void devise (struct student *p); //选择更改内容

int main (void)

{

welcome ();

//显示主菜单

mainmenu ();

return 0;

}

//显示欢迎信息

void welcome ()

{

printf ("+----------------------------------------------------+\n");

printf ("| |\n");

printf ("| 欢迎使用网络工程学院信息安全092班学生信息管理系统 |\n");

printf ("| |\n");

printf ("+----------------------------------------------------+\n");

}

//系统主菜单

void mainmenu ()

{

int choice;

choice = -1;

readData ();

printf ("\n温馨提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");

do

{

printf ("\n\n\n");

printf ("\t\t\t--------------------------------------------\n");

printf ("\t\t\t+ 信息安全092班学生信息管理系统 |\n");

printf ("\t\t\t--------------------------------------------\n");

printf ("\t\t\t+ [1]----录入学生信息 |\n");

printf ("\t\t\t+ [2]----浏览学生信息 |\n");

printf ("\t\t\t+ [3]----查询学生信息 |\n");

printf ("\t\t\t+ [4]----删除学生信息 |\n");

printf ("\t\t\t+ [5]----修改学生信息 |\n");

printf ("\t\t\t+ [0]----退出系统 |\n");

printf ("\t\t\t+*·*·*·*·*·*·*·*·*·*·*·*·*·*·*|\n");

printf ("\t\t\t--------------------------------------------\n");

printf ("请输入您的选择:");

scanf ("%d", choice);

switch (choice)

{

case 0:

writeData ();

freeAll ();

exit (0);

case 1:

record ();

break;

case 2:

displayAll ();

break;

case 3:

query_by_num ();

break;

case 4:

del ();

break;

case 5:

change ();

break;

default:

printf ("\n无效选项!");

break;

}

}

while (choice != 0);

}

//录入学生信息

void record ()

{

struct student *p0;

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

printf ("请输入学生的姓名:");

scanf ("%s",p0-name);

printf ("请输入学生的学号:");

scanf ("%ld",p0-num);

printf ("请输入学生的性别:");

scanf ("%s",p0-sex);

printf ("请输入学生的年龄:");

scanf ("%d",p0-age);

printf ("请输入学生的地址:");

scanf ("%s",p0-address);

printf ("请输入学生的电话:");

scanf ("%lf",p0-tele_num);

printf ("请输入学生的爱好:");

scanf ("%s",p0-aihao);

insert (p0);

printf ("该学生的信息为:\n");

printf ("-------------------------------------------------------------------------------\n");

printf ("姓名\t学号\t\t年龄\t性别\t地址\t\t电话\t\t爱好\n");

display (p0);

}

void insert (struct student *stu)

{

struct student *p0, *p1, *p2;

p1 = head;

p0 = stu;

if (head == NULL)

{

head = p0;

p0-next = NULL;

}

else

{

while ((p0-num p1-num)(p1-next != NULL))

{

p2 = p1;

p1 = p1-next;

}

if (p0-num = p1-num)

{

if (head == p1)

head = p0;

else

p2-next = p0;

p0-next = p1;

}

else

{

p1-next = p0;

p0-next = NULL;

}

}

TOTAL_NUM++;

}

void display (struct student *p)

{

printf ("%s\t%ld\t%d\t%s\t%s\t\t%.0f\t%s\n", p-name, p-num, p-age, p-sex, p-address, p-tele_num, p-aihao);

}

//浏览学生信息

void displayAll()

{

struct student *p;

printf("学生总数:%d\n", TOTAL_NUM);

p = head;

if (head != NULL)

{

printf("\n姓名\t学号\t\t年龄\t性别\t地址\t\t电话\t\t爱好\n");

printf("-------------------------------------------------------------------------------\n");

do

{

display(p);

p = p-next;

}

while(p != NULL);

}

printf ("\n");

}

//按学号查询学生信息

void query_by_num ()

{

int num;

struct student *p1;

printf("请输入学生的学号:");

scanf("%ld", num);

if(head==NULL)

{

printf("无学生记录!\n");

return;

}

p1 = head;

while (num!=p1-num p1-next!=NULL)

p1 = p1-next;

if (num == p1-num)

{

printf ("姓名\t学号\t\t年龄\t性别\t地址\t\t电话\t\t爱好\n");

printf ("-------------------------------------------------------------------------------\n");

display (p1);

}

else

printf ("没有该学生记录,请核对!");

}

//写入文件

void writeData ()

{

FILE* fp;//文件指针

struct student *p;

fp = fopen("1.txt", "w");

if (!fp)

{

printf("文件打开错误!");

return;

}

fprintf(fp,"%d\n", TOTAL_NUM);

for(p = head; p!= NULL; p= p-next)

{

fprintf(fp,"%s\t%ld\t%s\t%d\t%s\t%.0f\t%s\n", p-name, p-num, p-sex, p-age, p-address, p-tele_num, p-aihao);

}

fclose (fp);

}

void freeAll ()

{

struct student *p1, *p2;

p1 = p2=head;

while(p1)

{

p2=p1-next;

free (p1);

p1 = p2;

}

}

//读取文件

void readData ()

{

FILE* fp;//文件指针

struct student *p1, *p2;

fp = fopen("1.txt", "r");

if (!fp)

{

printf("文件打开错误!");

return;

}

fscanf(fp,"%d\n", TOTAL_NUM);

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

fscanf(fp,"%s\t%ld\t%s\t%d\t%s\t%lf\t%s\n", p1-name, p1-num, p1-sex, p1-age, p1-address, p1-tele_num, p1-aihao);

while(!feof(fp))

{

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

fscanf(fp,"%s\t%ld\t%s\t%d\t%s\t%lf\t%s\n", p1-name, p1-num, p1-sex, p1-age, p1-address, p1-tele_num, p1-aihao);

p2-next = p1;

p2 = p1;

}

p2-next = NULL;

fclose(fp);

}

//删除学生信息

void del ()

{

struct student *p1, *p2;

long int num;

if (head == NULL)

{

printf("无学生记录!\n");

return;

}

printf("请输入您要删除的学生的学号:");

scanf("%ld", num);

p1 = head;

while (num != p1-num p1-next != NULL)

{

p2 = p1;

p1 = p1-next;

}

if(num == p1-num)

{

if(p1 == head)

head = p1-next;

else p2-next = p1-next;

free(p1);

TOTAL_NUM--;

}

else

printf("没有该学生记录,请核对!\n");

}

//修改学生信息

void change ()

{

struct student *p1, *p2;

long int num;

if (head == NULL)

{

printf ("无学生记录!\n");

return;

}

printf ("请输入您要修改的学生的学号:");

scanf ("%ld", num);

p1 = head;

while (num != p1-num p1-next != NULL)

{

p2 = p1;

p1 = p1-next;

}

if(num == p1-num)

devise (p1);

else

printf("没有该学生记录,请核对!\n");

}

void devise (struct student *p)

{

int choice;

choice = -1;

do

{

printf("请选择您要修改的学生的信息内容:\n");

printf("+----------------------+\n");

printf("| 姓名 请按 1 |\n");

printf("| 学号 请按 2 |\n");

printf("| 性别 请按 3 |\n");

printf("| 年龄 请按 4 |\n");

printf("| 地址 请按 5 |\n");

printf("| 电话 请按 6 |\n");

printf("| 爱好 请按 7 |\n");

printf("| 取消 请按 0 |\n");

printf("+----------------------+\n");

printf("请输入您的选择:");

scanf("%d", choice);

switch (choice)

{

case 0:

return;

case 1:

printf("请输入新姓名:");

scanf("%s", p-name);

break;

case 2:

printf("请输入新学号:");

scanf("%d", p-num);

break;

case 3:

printf("请输入新性别:");

scanf("%s", p-sex);

break;

case 4:

printf("请输入新年龄:");

scanf("%s", p-age);

break;

case 5:

printf("请输入新地址:");

scanf("%s", p-address);

break;

case 6:

printf("请输入新电话:");

scanf("%lf", p-tele_num);

break;

case 7:

printf("请输入新爱好:");

scanf("%s", p-aihao);

break;

default:

printf("\n无效选项!");

break;

}

}

while(choice != 0);

}

如何用c语言编写学生信息管理系统?

性别也就两种状态,你就 定义 1 表示男性 0 表示女性,用一个int类型存储,名字就定义一个20个字符长度的字符串,电话,学号这些都可以定义为字符串(长度自己选择) 寝室号看情况也可以定义int类型或者字符串类型;

输入就用字符串和整型数字的输入方式啊 scanf

存储的话,一般写入文件里面去,用结构体数组或链表进行 增删改查

如何用c语言制作一个学生信息管理系统,要求以文件形式保存

#includestdio.h

#includestdlib.h

#includestring.h

//链表结点结构体声明

typedef struct subjects

{

char name[20];

float score;

}sub;

typedef struct student

{

int num;

char name[20];

sub  subject[3];

struct student* next;

}stu,*pstu;

#define SIZE sizeof(stu)

//函数申明

pstu LoadInfo();

void PrintMenu();

pstu AddStu(pstu );

pstu DeleStu(pstu );

pstu RwrStu(pstu );

void FindStu(pstu , char );

void Count(pstu ,char * ,float ,float );

void Rank(pstu ,char * );

void SaveQuit(pstu );

//创建菜单,进入选择循环

while(1)

{

PrintMenu();

printf("请输入您的选择编号:");

scanf("%d",n);

getchar();                   

switch(n)

{

case 1:

{

system("cls");           

j=0;

while(4!=j)       

{

printf("欢迎进入信息管理版块!\n\n");

printf("\025 1、添加学生\n");

printf("\025 2、删除学生\n");

printf("\025 3、修改学生信息\n");

printf("\025 4、返回\n");

printf("请输入您的选择编号:\n");

scanf("%d",j);

getchar();

if     ( 1 == j) head = AddStu(head);     

else if( 2 == j) head = DeleStu(head);   

else if( 3 == j) head = RwrStu(head);     

else if( 4 == j) ;

else printf("输入有误,请重新输入!\n");

}

case 2:

{

//信息查询

system("cls");

printf("欢迎进入信息查询版块!\n");

printf("请输入要查询的学生编号:");

scanf("%d",j);

getchar();

//printf("%d\n",j);          //检测输入是否成功,调试程序用

FindStu(head,j);            //查询并输出

printf("\n请输入回车键返回主菜单!");

getchar();

system("cls");

break;

}

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。

实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

参考资料来源:百度百科-c语言

发表评论

评论列表

  • 纵遇西奺(2022-06-10 20:47:17)回复取消回复

    \t%s\t\t%.0f\t%s\n", p-name, p-num, p-age, p-sex, p-address, p-tele_num, p-aihao);}//浏览学生信息void displayAll(){ struct student *p;

  • 俗野叙詓(2022-06-10 18:02:32)回复取消回复

    是否成功,调试程序用FindStu(head,j);            //查询并输出printf("\n请输入回车键返回主菜单!");getchar();system("cls");break;}扩展资料:C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序

  • 断渊南忆(2022-06-10 13:16:52)回复取消回复

    是否成功,调试程序用FindStu(head,j);            //查询并输出printf("\n请输入回车键返回主菜单!");getchar();system("cls");break;}扩展资料:C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序

  • 囤梦钟晚(2022-06-10 12:45:23)回复取消回复

    生信息管理系统?性别也就两种状态,你就 定义 1 表示男性 0 表示女性,用一个int类型存储,名字就定义一个20个字符长度的字符串,电话,学号这些都可以定义为字符串(长度自己选择) 寝室号看情况也可以定义int类