网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月29日漏签0天
c语言吧 关注:799,037贴子:4,359,507
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回c语言吧
>0< 加载中...

求救一道C语言题目。。关于学生成绩的。急急急急!!~~

  • 只看楼主
  • 收藏

  • 回复
  • 幻fly
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
题目:有五个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号,姓名,3门课程成绩),计算出每个学生的总成绩,将原有数据和计算出的总成绩存放在磁盘文件“stud”中。
要求:1。用结构体数组处理学生数据
      2。写三个函数:1)输入学生信息;2)处理学生成绩;3)输出数据至磁盘文件。


拜托各位高手啦。。。。


  • 220.166.50.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include "stdio.h"
struct student
{ char num[6];
char name[8];
int score[3];
float avr;
} stu[5];
main()
{int i,j,sum;
FILE *fp;
/*input*/
for(i=0;i<5;i++)
{ printf("\n please input No. %d score:\n",i);
printf("stuNo:");
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
sum=0;
for(j=0;j<3;j++)
{ printf("score %d.",j+1);
scanf("%d",&stu[i].score[j]);
sum+=stu[i].score[j];
}
stu[i].avr=sum/3.0;
}
fp=fopen("stud","w");
for(i=0;i<5;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}


2025-08-29 10:12:04
广告
不感兴趣
开通SVIP免广告
  • 幻fly
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼上的不是求平均分的么????
我要得是求总成绩的阿。。。拜托阿。。有没有人帮忙啊。


快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <graphics.h>
#include <conio.h>
#define N 1000
#include <stdio.h>
struct students
 {
 char name[20];
 char code[10];
 char sex;
 int age;
 int score;
 } student[N];
 void tu(int x1,int x2,int y1,int y2)
 {
 rectangle(x1,y1,x2,y2);
 line(x1+150,y1,x1+150,y2);
 line(x1+260,y1,x1+260,y2);
 line(x1+330,y1,x1+330,y2);
 line(x1+400,y1,x1+400,y2);
 }
 main()
 {
 FILE *fp;
 int i,j,boy=0,gril=0,n,x1,x2,y1,y2;
 char m;
 int gdriver=DETECT,gmode;
 initgraph(&gdriver,&gmode,"");
 setbkcolor(1);
 fp=fopen("e:\\dos\\student.txt","w");
 if (fp==NULL)
 {
 printf (" 不能创建此文件.");
 exit(0);
 }
 printf ("请输入学生数:");
 scanf ("%d",&n);
 printf("\t\t\t请输入下面信息:\n");
 for(i=0;i<n;i++)
 {
 printf ("请输入第%d个学生的名字:",i+1);
 scanf ("%s",student[i].name);
 printf ("请输入成绩:");
 scanf ("%d",&student[i].score);
 printf ("请输入学号:");
 scanf ("%s",student[i].code);
 printf ("请输入年龄:");
 scanf ("%d",&student[i].age);
 m=getchar();
 printf ("请输入性别(s/t):");
 scanf ("%c",&student[i].sex);
 }
 for(i=0;i<n;i++)
 {
 if (student[i].sex=='s')
 gril++;
 else boy++;
 }
 for (i=0;i<n;i++)
 for (j=i+1;j<n;j++)
 if (student[i].score<student[j].score)
 {
 student[n]=student[i];
 student[i]=student[j];
 student[j]=student[n];
 }
 fputs("name",fp);
 fputc('\t\t',fp);
 fputs("code",fp);fputc('\t\t',fp);
 fputs("sex",fp);fputc('\t',fp);
 fputs("score",fp);fputc('\t',fp);
 fputs("age",fp);fputc('\n',fp);
 clrscr();
 printf ("\n\n 男生: %d \t\t 女生: %d \n\n\n",boy,gril);
 printf (" name code \tsex\tscore\tage\n");
 for(i=0;i<n;i++)
 {
 printf (" %-20s%-10s\t%c\t%d\t%d\n",student[i].name,student[i].code,student[i].sex,student[i].score,student[i].age);
 fputs(student[i].name,fp);
 fputc('\t\t',fp);
 fputs(student[i].code,fp);fputc('\t\t',fp);
 fputc(student[i].sex,fp);fputc('\t',fp);
 fputc(student[i].score,fp);fputc('\t',fp);
 fputc(student[i].age,fp);fputc('\n',fp);
 }
 fclose(fp);
 x1=40;x2=480;y1=90;y2=108;
 tu(x1,x2,y1,y2);
 for (i=0;i<n;i++)
 {
 y1=y2;
 y2+=18;
 tu(x1,x2,y1,y2);
 } 
 getch();
 }
处理的不全面~~~


快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你可以参考参考~


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示