#include "stdio.h"
在貢覺(jué)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷(xiāo),外貿(mào)網(wǎng)站建設(shè),貢覺(jué)網(wǎng)站建設(shè)費(fèi)用合理。
struct student
{ char num[6];
char name[8];
int clas[3];
int old[3];
} stu[5];
void main()
{int i;
for(i=0;i5;i++)
{ printf("\n please input No. %d score:\n",i);
printf("stuNo:");
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
printf("class:");
scanf("%s",stu[i].clas);
printf("old:");
scanf("%s",stu[i].old);
}
}
#includestdio.h
struct{
int num;
char name[10];
int s1,s2,s3,s4,s5;
}student[1000];
int main()
{
int number,i;
printf("請(qǐng)輸入學(xué)生總?cè)藬?shù):");
scanf("%d",number);
for(i=0;inumber;i++){
printf("請(qǐng)輸入第%d名學(xué)生的信息\n",i+1);
printf("學(xué)號(hào):");
scanf("%d",student[i].num);
printf("姓名:");
scanf("%s",student[i].name);
printf("成績(jī)一:");
scanf("%d",student[i].s1);
printf("成績(jī)二:");
scanf("%d",student[i].s2);
printf("成績(jī)?nèi)?);
scanf("%d",student[i].s3);
printf("成績(jī)四:");
scanf("%d",student[i].s4);
printf("成績(jī)五:");
scanf("%d",student[i].s5);
}
printf("學(xué)生信息如下:\n");
for(i=0;inumber;i++){
printf("學(xué)號(hào):%3d",student[i].num);
printf("姓名:%3s",student[i].name);
printf("成績(jī)一:%3d",student[i].s1);
printf("成績(jī)二:%3d",student[i].s2);
printf("成績(jī)?nèi)?3d",student[i].s3);
printf("成績(jī)四:%3d",student[i].s4);
printf("成績(jī)五:%3d\n",student[i].s5);
}
return 0;
}
根據(jù)題意:
要驗(yàn)證學(xué)號(hào)輸入,應(yīng)該有一個(gè)學(xué)生名單。
所以我定義了init函數(shù)來(lái)初始化一個(gè)學(xué)生名單,只是測(cè)試用數(shù)據(jù),你想要手動(dòng)輸入學(xué)生名單,請(qǐng)修改該函數(shù)。
由于實(shí)現(xiàn)動(dòng)態(tài)刷新信息,用到getch來(lái)暫停刷新,這個(gè)函數(shù)頭文件conio在windows下有效,你要是使用的其他操作系統(tǒng),可以自定義類(lèi)似函數(shù)來(lái)替換,或者直接刪除所有g(shù)etch()和system("cls")語(yǔ)句。
命令符的輸入驗(yàn)證按照題目要求。
#include stdio.h
#include stdlib.h
#include malloc.h
#include string.h
#include conio.h
#define STUN 5//學(xué)生最大人數(shù)
#define CN 100//輸入命令符號(hào)字符串最大個(gè)數(shù)
typedef struct stu//學(xué)生個(gè)人信息,如想添加比如班級(jí)、年級(jí)等,自行添加
{
char id[20];//學(xué)號(hào)
char name[10];//姓名
float score;//成績(jī)
}STU;
STU *init();//初始化一組學(xué)生信息
void showStus(STU *stus);//打印學(xué)生信息
void cmdA(STU *);//錄入學(xué)生成績(jī),判斷等級(jí)
void cmdH();
void cmdQ();
int cmdGet();//識(shí)別命令A(yù)、H、Q分別返回1、2、3。輸入無(wú)效命令時(shí)返回0
int main()
{
int n=0;
STU *stus=NULL;
system("cls");
stus=init();
while(!n)
{
? printf("[StuSc3]\n");
? n=cmdGet();
? if(!n)
? {
? ? ? printf("命令必須以A、H、Q開(kāi)頭,不區(qū)分大小寫(xiě),忽略空格和tab字符\n");
? ? ? printf("按任意鍵返重新輸入命令符。。。\n");
? ? ? getch();
? }
? switch(n)
? {
? ? ? case 1:showStus(stus);cmdA(stus);break;
? ? ? case 2:cmdH();break;
? ? ? case 3:cmdQ();return 0;
? }
? n=0;
? system("cls");
}
return 0;
}
STU *init()
{
int i;
char nstr[25];
static STU stus[STUN];
for(i=0;iSTUN;i++)
{
? strcpy(stus[i].id,"S00");
? itoa(i+1,nstr,10);
? strcat(stus[i].id,nstr);
? strcpy(stus[i].name,"學(xué)生");
? strcat(stus[i].name,nstr);
? stus[i].score=0;
}
return stus;
}
void showStus(STU *stus)//打印學(xué)生信息
{
int i;
printf("當(dāng)前學(xué)生信息:\n");
for(i=0;iSTUN;i++){
? printf("學(xué)號(hào):%s 姓名:%s 成績(jī):%.1f ",stus[i].id,stus[i].name,stus[i].score);
? printf("%s%s%s\n",stus[i].score=85?"優(yōu)秀":"",stus[i].score85 stus[i].score=60?"合格":"",stus[i].score60?"不合格":"");
}
printf("\n");
}
void cmdA(STU *stus)
{
STU *stuSave=NULL;
int i,flag;
char id[20];//學(xué)號(hào)
float score;//成績(jī)
while(1)
{
? printf("請(qǐng)輸入學(xué)號(hào)及成績(jī):(輸入END結(jié)束輸入)\n");
? scanf("%s",id);
? if(strcmp(id,"END")==0)
? ? ? break;
? flag=0;
? stuSave=NULL;
? for(i=0;iSTUN;i++)
? ? ? if(strcmp(stus[i].id,id)==0)
? ? ? {
? ? ? ? ? flag=1;
? ? ? ? ? stuSave=stus[i];
? ? ? ? ? break;
? ? ? }
? if(!flag)
? {
? ? ? printf("該學(xué)生不存在!\n任意鍵重新輸入。。。\n");
? ? ? getch();
? ? ? continue;
? }
? scanf("%f",score);
? if(score0){
? ? ? printf("成績(jī)不能為負(fù)數(shù)!\n任意鍵重新輸入。。。\n");
? ? ? getch();
? ? ? continue;
? }
? stuSave-score=score;
? system("cls");
? showStus(stus);
}
}
void cmdH()
{
printf("使用幫助:\n");
printf("輸入命令符A、H、Q,不區(qū)分大小寫(xiě),忽略開(kāi)頭的空格及tab字符,忽略之后所有字符\n");
printf("命令A(yù):錄入學(xué)生成績(jī),判斷成績(jī)等級(jí)\n");
printf("命令H:幫助文檔\n");
printf("命令Q:退出程序\n");
printf("按任意鍵返回命令符輸入。。。\n");
getch();
}
void cmdQ()
{
printf("再見(jiàn)!\n");
printf("按任意鍵結(jié)束程序。。。\n");
getch();
}
int cmdGet()
{
char inStr[CN],*p=inStr;
printf("ST3\n");
scanf("%s",inStr);
while(*p!=0)
{
? if(*p=='A' || *p=='a')
? ? ? return 1;
? if(*p=='H' || *p=='h')
? ? ? return 2;
? if(*p=='Q' || *p=='q')
? ? ? return 3;
? if(*p!=' ' *p!='\t')//跳過(guò)空格和tab
? {
? ? ? printf("無(wú)效命令\n");
? ? ? return 0;
? }
? p++;
}
return 0;
}
#include?stdio.h
struct?Sudent
{
char?num[6];?//改類(lèi)型
char?name[8];
char?score[4];
}stu[5];
//?print?定義可以放前面
void?print(?struct?Sudent?stu[],int?count)??//加上函數(shù)類(lèi)型,參數(shù)類(lèi)型聲明
//?struct?student?stu[6];//這句不要
{
int?i,j;?//增加
for(i?=?0;i?count;i++)?//增加
{
printf("%s%s",stu[i].num,stu[i].name/*,stu[i].score*/);//
for(j=0;j3;j++)
printf("%d",stu[i].score[j]);
printf("\n");
}
}
//
void?main()
{
int?i,j;
//char?stu[5];?//已經(jīng)聲明stu為全局結(jié)構(gòu)體數(shù)組了,這句不要
//?char?print(char?stu);?//?
for(i=0;i5;i++)
{
scanf("%s",stu[i].num);
scanf("%s",stu[i].name);
for(j=0;j3;j++)
scanf("%d",stu[i].score[j]);
}
print(stu,5);
}
typedef struct _stu{
char name[100];
int num,score[3];
}stu;
stu input(){
stu s;
printf("input name");
scanf("%s",s.name);
printf("input number");
scanf("%d",s.num);
printf("input 3 scores");
scanf("%d,%d,%d",s.score,s.score+1,s,score+2);
return s;
}
void print(stu s)
{
printf("%d\t%s\t%d,%d,%d",s.num,s.name,s.score[0],s.score[1],s.score[2]);
}
main()
{
stu a;
a=input();
printf("num\tname\tscore\n");
print(a);
}
#includestdio.h
#define N 10
struct Student
{
char id[8],name[8];
int s1,s2,s3;
float ave_s;
};
int main()
{
struct Student s[N];
int i,p;
/* 輸入學(xué)生成績(jī)信息,并計(jì)算平均成績(jī) */
for(i=0; iN; i++)
{
printf("輸入學(xué)生 %d 的學(xué)號(hào) 姓名 和3門(mén)課的成績(jī):",i+1);
scanf("%s%s%d%d%d",s[i].id,s[i].name,s[i].s1,s[i].s2,s[i].s3);
s[i].ave_s=(s[i].s1+s[i].s2+s[i].s3)/3.0;
}
/* 輸出每個(gè)學(xué)生的平均成績(jī) */
printf(" 學(xué)號(hào) 平均成績(jī)\n");
for(i=0; iN; i++)
printf("%8s%8.1f\n\n",s[i].id,s[i].ave_s);
/* 查找平均成績(jī)最高的學(xué)生 */
p=0;
for(i=0; iN; i++)
if(s[i].ave_ss[p].ave_s)
p=i;
/* 輸出平均成績(jī)最高的學(xué)生信息 */
printf(" 學(xué)號(hào) 姓名 成績(jī)1 成績(jī)2 成績(jī)3 平均成績(jī)\n");
printf("%8s%8s%8d%8d%8d%8.1f\n",s[p].id,s[p].name,s[p].s1,s[p].s2,s[p].s3,s[p].ave_s);
return 0;
}
當(dāng)前名稱(chēng):打印學(xué)生信息的函數(shù)C語(yǔ)言 打印學(xué)生信息 用c語(yǔ)言表示
鏈接URL:http://jinyejixie.com/article2/dosseic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、搜索引擎優(yōu)化、商城網(wǎng)站、微信公眾號(hào)、云服務(wù)器、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容