当前位置:首页 » 编程语言 » 输入学生学号查成绩c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

输入学生学号查成绩c语言

发布时间: 2022-08-07 14:29:41

‘壹’ c语言编写查询学生成绩管理程序。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>struct record
{
char xuehao[10];//学号
char name[20]; //姓名
char sex[3];//性别
int ke1;//数学
int ke2 ;//语文
int ke3;//英语
int pin;
}stu[50];
int k=1,n,m;void readfile();
void seek();
void insert();
void del();
void save();
void menu();

void seek()
{int i,j,item,flag;<br>char s1[20];<br>printf("------------------\n");<br>printf("1.按学号查询\n");<br>printf("2.退出本菜单\n");<br>printf("------------------\n");<br>while(1)<br>{ printf("请选择子菜单编号:");<br>scanf("%d",&item);<br>flag=0;<br>switch(item)<br>{<br>case 1:<br>printf("请输入要查询的学生的学号:\n");<br>scanf("%s",s1);<br>for(i=0;i<n;i++)<br>if(strcmp(stu[i].xuehao,s1)==0)<br>{ flag=1;<br>printf("该学生学号,姓名,性别,数学,语文,英语 分别为:\n");<br>printf(" %s %s %s %d %d %d",stu[i].xuehao,stu[i].name,<br>stu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3);<br>}
if(flag==0)
printf("该学号不存在!\n"); break;
case 2:return;
default:printf("请在1-2之间选择\n");
}
}
}
void insert()
{ int i=n,j,flag;
printf("请输入待增加的学生数:\n");
scanf("%d",&m);
do
{ flag=1;
while(flag)
{ flag=0;
printf("请输入第 %d 个学生的学号:\n",i+1);
scanf("%s",stu[i].xuehao);
for(j=0;j<i;j++)
if(strcmp(stu[i].xuehao,stu[j].xuehao)==0)
{ printf("已有该学号,请检查后重新录入!\n");
flag=1;
break;
}
}
printf("请输入第 %d 个学生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("\n请输入第 %d 个学生的性别:",i+1);
scanf("%s",stu[i].sex);
printf("\n请输入第 %d 个学生的数学成绩:",i+1);
scanf("%d",&stu[i].ke1);
printf("\n请输入第 %d 个学生的语文成绩:",i+1);
scanf("%d",&stu[i].ke2);
printf("\n请输入第 %d 个学生的英语成绩:",i+1);
scanf("%d",&stu[i].ke3);if(flag==0)
{ i=i;
i++;
}
}while(i<n+m);
n+=m;
printf("录入完毕!\n\n");
}void del()
{ int i,j,flag=0;
char s1[20];
printf("请输入要删除学生的学号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].xuehao,s1)==0)
{ flag=1;
for(j=i;j<n-1;j++)
stu[j]=stu[j+1];
}
if(flag==0)
printf("该学号不存在!\n");
if(flag==1)
{ printf("删除成功,显示结果请选择菜单6\n");
n--;
}
}
void readfile()
{
char buf[80],*p="student.dat";
FILE *fp;
int i=0;
if ((fp=fopen("student.dat","r"))==NULL)
{ printf("Open file %s error! Strike any key to exit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s%s%s%d%d%d",stu[i].xuehao,stu[i].name,
stu[i].sex,&stu[i].ke1,&stu[i].ke2,&stu[i].ke3)==6)
{ i++;
i=i;
}
fclose(fp);
n=i;
printf("录入完毕!\n");
}void save()
{ int i,j,k,flag=0;
FILE *fp;
fp=fopen("student.dat","w");
for(i=0;i<m;i++)
{
fprintf(fp,"%s%s%d%d%d",stu[i].xuehao,stu[i].name,stu[i].sex,&stu[i].ke1,
&stu[i].ke2,&stu[i].ke3);
fclose(fp);
printf("已储存");
}
}
void paixu()
{
int i,j,k,t;
for(i=0;i<m;i++)
{
stu[i].pin=(stu[i].ke1+stu[i].ke2+stu[i].ke3)/3;
}
for(i=0;i<=m-2;i++)
{
k=i;
for(j=i+1;j<=m-1;j++)
if(stu[j].pin<stu[k].pin)
k=j;
if(k!=i)
{
t=stu[k].pin;
stu[k].pin=stu[i].pin;
stu[i].pin=t;
}
}
for(i=0;i<m;i++)
{printf("第 %d 个学生的姓名%s:",i+1,stu[i].name);<br> printf("\n第 %d 个学生的性别:%s",i+1,stu[i].sex);<br> printf("\n第 %d 个学生的数学成绩:%d",i+1,stu[i].ke1);<br> printf("\n第 %d 个学生的语文成绩:%d",i+1,stu[i].ke2);<br> printf("\n第 %d 个学生的英语成绩:%d",i+1,stu[i].ke3);<br> printf("\n第 %d 个学生的平均成绩:%d",i+1,stu[i].pin);<br> }
}
void menu()
{ int nub;
printf(" \n\n学生成绩管理系统\n\n");
printf("*****系统功能菜单*****\n");
printf("----------------------\n");
printf("1.输入学生信息\n");
printf("2.查询学生信息\n");
printf("3.按学号删除信息\n");
printf("4.读入学生信息\n");
printf("5.保存信息(要把修改保存到文件,退出程序前必须执行本项)\n");
printf("6.查询学生平均成绩信息\n");
printf("0.退出系统\n");
printf("----------------------\n");
printf("请选择菜单编号:");
scanf("%d",&nub);
switch(nub)
{
case 1:insert();break;
case 2:seek();break;
case 3:del();break;
case 4:readfile();break;
case 5:save();break;
case 6:paixu();break;
case 0:k=0;break;
default:printf("请在0-6之间选择\n");
}}
void main()
{
while(k)
menu();
}
//平均数是排序后,输出的,如果你不想直接输入,那就不要对每个学生进行选择排序了

‘贰’ C语言~输入5个学生的学号,成绩,按成绩排序(升序),查找90分以上的

代码:

#include&lt;stdio.h&gt;

struct student

{

int num,score[3],age;

char name[20];

float aver;

}stu[1000];

main()

{

int i,j,n;

struct student temp;

/*注意:变量temp的类型与数组stu的元素类型为相同结构体的时候,才可交换两个结构体数组元素,所以此处需要定义temp的类型*/

printf("请输入学生人数: ");

scanf("%d",&n);

printf("请按顺序输入名字、学号、年龄、分数: ");

for(i=0;i&lt;n;i++)

{

scanf("%s",&stu&lt;i&gt;.name);

scanf("%d",&stu&lt;i&gt;.num);

scanf("%d",&stu&lt;i&gt;.age);

for(j=0;j&lt;3;j++)

scanf("%d",&stu&lt;i&gt;.score[j]);

}

for(i=0;i&lt;n;i++)

{int sum=0;

for(j=0;j&lt;3;j++)

sum+=stu&lt;i&gt;.score[j];

stu&lt;i&gt;.aver=sum/3.0;

}

for(i=0;i&lt;n-1;i++)/*利用冒泡排序法按平均分高低排序*/

{for(j=0;j&lt;n-i-1;j++)

{

if(stu[j].aver&gt;stu[j+1].aver)

{temp=stu[j];/*此处交换的应当是数组元素,而不是平均分*/

stu[j]=stu[j+1];

stu[j+1]=temp;

}

}

}

printf("学生信息如下(姓名、学号、年龄、成绩、平均分): ");

for(i=0;i&lt;n;i++)

{

printf("%s%d%d",stu&lt;i&gt;.name,stu&lt;i&gt;.num,stu&lt;i&gt;.age);

for(j=0;j&lt;3;j++)

printf("%d",stu&lt;i&gt;.score[j]);

printf("%.2f ",stu&lt;i&gt;.aver);

}

}

(2)输入学生学号查成绩c语言扩展阅读:

头文件#include&lt;stdio.h&gt;中

stdio.h是stand input&output的缩写,意思是标准输入输出头文件。凡是用到标准输入输出函数,就要调用该头文件。

查看stdio.h目录下包含哪些函数:主要有文件访问、二进制输入/输出、格式化和非格式化输入/输出、文件定位、错误处理、文件操作等。

具体打开自己的VS安装目录,找到include文件夹,打开include夹下面的stdio.h文件即可查看

(C:Program Files(x86)Microsoft Visual Studio 14.-1.1.10include)

常用标准输入输出函数:

scanf()从屏幕格式输入

printf()格式输出到屏幕

getchar()从屏幕得到一个字符

putchar()字符输出到屏幕

gets()从屏幕得到一个字符串

puts()字符串输出到屏幕

fscanf()从磁盘格式输入

fprintf()格式输出到磁盘

fgetc()从磁盘得到一个字符

fputc()字符输出到磁盘

fgets()从磁盘得到一个字符串

fputs()字符串输出到磁盘

#号是预处理语句,表明在编译之前预先进行处理。

.h是header file的缩写,表面这是一个头文件。

include是文件包含命令,后面跟着引号""或者尖括号&lt;&gt;,意思是将引号或尖括号内指定的文件包含到本程序中,成为本程序的一部分,而包含的文件通常是由系统提供的。

‘叁’ c语言大神帮帮忙,我只想要输入学号查成绩那个函数,提供思路也行,谢谢

定义一个结构体比如说
struct student
{
char no[10]; //学号

char name[10]; //姓名

double grade1; //成绩

double garde2;

double grade3;

};
输入n之后,定义一个结构体指针,
student a=(student*)malloc(n);
然后你可以遍历指针指向的数值,完成需要的操作就行了
找到对应的学号时,使用 break; 语句就可以提前结束循环了,
这样:
int i=0;
for( i=0; i<n;i++)
{
if( ... ) //找到你需要的学号

{

...//进行操作

break;

}
}

‘肆’ C语言,按学号查询学生成绩

#include "stdio.h"
#include "string.h"
struct student
{
char num[10];
int cscore;//yu wen
int iscore;//ying yu
char name[20]
};
void main()
{
struct student qq[3];
int i;
for(i = 0;i < 3;i++)
{
printf("请输入 语文成绩 英语成绩 学号 姓名:\n");
scanf("%d %d %s %s",&qq[i].cscore,&qq[i].iscore,qq[i].num,qq[i].name);
printf("语文成绩%d 英语成绩%d 学号%s 姓名%s\n",qq[i].cscore,qq[i].iscore,qq[i].num,qq[i].name);
printf("---%d ---%d --%s --%s\n",qq[i].cscore,qq[i].iscore,qq[i].num,qq[i].name);
}

//下面是查询
char nnm[10];
printf("请输入 学号:\n");
scanf("%s",nnm);
for(i = 0;i < 3;i++)
{
if(memcmp(nnm,qq[i].num,strlen(nnm)) == 0)
{
printf("语文成绩%d 英语成绩%d 学号%s 姓名%s\n",qq[i].cscore,qq[i].iscore,qq[i].num,qq[i].name);
break;
}
else
printf("未找到\n");
}
}

‘伍’ C语言中 输入学号 成绩 输出成绩总和 平均值 再随意输入一个学号查找成绩

#include
#define N 5
typedef struct student
{
int id; //号
float score; //绩
}stu;
void ReadDat(stu a[],int n);//录入信息
void jsSort(stu a[],int n); //按绩排序
void WriteDat(stu a[],int n);//输信息
void main()
{
stu s[N];
ReadDat(s,N);
jsSort(s,N);
WriteDat(s,N);
}

void ReadDat(stu a[],int n)
{
printf("面始录入信息!\n\n");
for(int i=0;i<n;i++)
{
printf("请输入第%d号:",i+1);
scanf("%d",&a[i].id);
printf("请输入第%d绩:",i+1);
scanf("%f",&a[i].score);
}
}
void jsSort(stu a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i].score>a[j].score)
{
stu temp = a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
void WriteDat(stu a[],int n)
{
stu b[N];
int cnt = 0;
printf("所按绩由低高排序:\n");
printf("号\t绩\n");
for(int i=0;i<n;i++)
{
printf("%d\t%.1f\n",a[i].id,a[i].score);
if(a[i].score >= 90)
{
b[cnt]=a[i];
cnt++;
}
}
printf("90共%d信息:\n",cnt);
printf("号\t绩\n");
for(i=0;i<cnt;i++)
{
printf("%d\t%.1f\n",b[i].id,b[i].score);
}
}

‘陆’ 学生成绩录入查询系统C语言程序

#include<iostream>
#include<string.h>
using
namespace
std;
struct
student
{
char
name[50];
int
score;
};
void
teacherC(student
*stu)//老师录入成绩
{
int
i,n;
cout<<"请输入需要录入的学生的个数\n";
cin>>n;
cout<<"请依次输入学生的姓名和成绩\n";
for(i=0;i<n;i++)
{
cin>>stu[i].name>>stu[i].score;
}
stu[i].score=-1;
}
void
show(student
*stu)
{
int
i=0;
for(;i<100;i++)
{
if(stu[i].score==-1)
break;
cout<<stu[i].name<<"
"<<stu[i].score<<endl;
}
}
int
search(student
*stu,char
*name)
{
int
i=0,k=-1;
for(;i<100;i++)
{
if(stu[i].score==-1)
break;
if(strcmp(stu[i].name,name)==0)
{
k=i;
break;
}
}
return
k;
}
void
edit(student
*stu)
{
int
i=0,j=0;
char
name[30],an;
while(1)
{
cout<<"请输入需要修改的学生名字\n";
cin>>name;
i=search(stu,name);
if(i>=0)
{
cout<<"该学生的信息为:\n";
cout<<stu[i].name<<"
"<<stu[i].score<<endl;
cout<<"确定要修改该学生的信息是的输入Y不是输入N:\n";
cin>>an;
if(an=='Y'||an=='y')
{
cout<<"请输入修改后的姓名成绩:\n";
cin>>stu[i].name>>stu[i].score;
cout<<"修改成功\n";
}
cout<<"继续修改请输入1退出输入0:\n";
cin>>j;
if(j==0)
break;
}
else
cout<<"没有该学生的信息\n";
}
}
void
dele(student
*stu)
{
int
i=0,j=0;
char
name[30],an;
while(1)
{
cout<<"请输入需要删除的学生名字\n";
cin>>name;
i=search(stu,name);
if(i>0)
{
cout<<"该学生的信息为:\n";
cout<<stu[i].name<<"
"<<stu[i].score<<endl;
cout<<"确定要删除该学生的信息是的输入Y不是输入N:\n";
cin>>an;
if(an=='Y'||an=='y')
{
*stu[i].name=0;
cout<<"删除成功\n";
}
cout<<"继续删除请输入1退出输入0:\n";
cin>>j;
if(j==0)
break;
}
else
cout<<"没有该学生的信息\n";
}
}
int
main()
{
int
i,n;
char
name[30];
student
stu[100];//学生总数上限为100个
while(1)
{
cout<<"请做出以下的选择:"<<endl;
cout<<"输入
0
退出系统\n";
cout<<"输入
1
教书录入成绩\n";
cout<<"输入
2
学生查询成绩\n";
cout<<"输入
3
修改学生成绩\n";
cout<<"输入
4
删除学生成绩\n";
cin>>i;
switch(i)
{
case
1:
teacherC(stu);break;
case
2:
cout<<"请输入查询的姓名\n";
cin>>name;n=search(stu,name);cout<<"该学生成绩是:"<<stu[n].score<<endl;break;
case
3:
edit(stu);break;
case
4:
dele(stu);break;
default:if(i!=0)cout<<"请输入有效数字\n";
}
if(i==0)
break;
}
return
0;
}

‘柒’ 用C语言编一个简易学生成绩管理系统,只要求能输入学生姓名学号和3科成绩,显示这些信息,成绩排序,

/*代码已经做到简洁扼要,按照你的要求,只有简单的几个功能*/
/*已经测试过,正常执行。希望能帮助你*/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define NAME_LEN 10
#define ID_LEN 11
#define REC 5 /*记录条数*/
/* 学生结构体*/
typedef struct student
{
char id[ID_LEN];/*学号*/
char name[NAME_LEN];/*姓名*/
int score[3];/*三科成绩*/
} Stu;
/*成绩输入*/
void input(Stu s[],int n)
{
int i;
printf("请输入学号姓名分数1 分数2 分数3\n");
for(i=0;i<n;i++)
scanf("%s%s%d%d%d",s[i].id,s[i].name,
&s[i].score[0],&s[i].score[1],&s[i].score[2]);
}
/*成绩输出*/
void print(Stu s[],int n)
{
int i;
printf("学号 姓名 分数1 分数2 分数3\n");
for(i=0;i<n;i++)
printf("%s %s %d %d %d\n",s[i].id,s[i].name,
s[i].score[0],s[i].score[1],s[i].score[2]);
}
/*按成绩排序*/
void sort(Stu s[],int n,int no)
{
int i,j;
Stu temp;
for(i=0; i<n-1; i++)
for(j=i+1; j<n; j++)
if(s[i].score[no-1]<s[j].score[no-1])
{
temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
/*成绩按学号查询成绩*/
void search(Stu s[], int n,char *id)
{
int i;
for(i=0; i<n; i++)
if(strcmp(s[i].id,id)==0)
{
printf("%s %s %d %d %d\n",s[i].id,s[i].name,
s[i].score[0],s[i].score[1],s[i].score[2]);
return;
}
printf("没找到相应记录\n");
}
void main()
{
Stu stu[REC];
int no,menu;
char id[ID_LEN];
printf("****************学生成绩管理*****************\n\n");
printf("1.成绩输入\n");
printf("2.显示所有学生成绩\n");
printf("3.按成绩排序输出\n");
printf("4.按学号查询成绩\n");
printf("0.退出程序\n");
while(1)
{
printf("\n请输入菜单号:");
scanf("%d",&menu);
switch(menu)
{
case 1:
input(stu,REC);
break;
case 2:
print(stu,REC);
break;
case 3:
printf("输入要排序的分数号:");
scanf("%d",&no);
sort(stu,REC,no);
print(stu,REC);
break;
case 4:
printf("输入要查询的学号:");
scanf("%s",id);
search(stu,REC,id);
break;
case 0:
exit(0);
default:
printf("菜单号输入错误\n");
break;
}
}
}

‘捌’ C语言在键盘上输入三个学生的信息(包含学号,姓名,三门课的成绩)并在显示器上输

id, name, &m1

id, name, m1

voidprintScore(intscore[4][3])

{inti,j;for(i=0;i<4;i++)

{printf("学生%d的三门成绩分别为:

",i+1);for(j=0;j<3;j++)

{printf("%d ",score<i>[j]);

if(j==2)printf(" ");}}printf(" ");}

printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。

函数介绍

printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:intprintf(constchar*format);

函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。

printf()函数的调用格式为:printf("<格式化字符串>",<参量表>);其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

以上内容参考:网络-printf()

‘玖’ 急求c语言大神输入成绩学号姓名查询成绩

#include<stdio.h>
#include<string.h>

typedefstruct{
intqq;
charstring[1024];
}C语言;

intmain(){
C语言c={563337217,"计算机C语言课程设计有偿助攻,看清楚了有偿助攻再加好友! 总有穷逼和傻逼想不花钱让爹给你白写,你TMD以为你是谁啊。 想让爹给你白写的滚一边去,省的挨骂!"};
printf("QQ:%d %s ",c.qq,c.string);
return0;
}

‘拾’ C语言中用scanf输入学号查询成绩

建个2纬数组,比如int a[10][2],里面存档学号和成绩,定义一个变量接收scanf的输入,然后循环遍历数组找相同的学号就行了。