| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 431 人关注过本帖
标题:帮忙完善下程序 -------------------急
只看楼主 加入收藏
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:7 
帮忙完善下程序 -------------------急
一个不完善的程序,希望大虾帮忙看下啊!
#include "stdio.h"
#include "windows.h"
typedef struct student
{
char name[8];
int chinese;
int math;
int english;
double arg;
int count;
}st;

void printf_jl(st t[])
{
int i,sum=0;
st s[3];
printf("****************学生成绩信息***************\n");
getchar();
for(i=0;i<3;i++)
{
printf("请输入%d个学生的姓名:",i+1);
scanf("%s",&s[i].name);

printf("请输入%d个学生的语文成绩:",i+1);
scanf("%d",&s[i].chinese);
if(s[i].chinese<=0 || s[i].chinese>=100)
        MessageBox(0,"你输入了一个非法数据,请重新输入!","注意",0);



printf("请输入%d个学生的数学成绩:",i+1);
scanf("%d",&s[i].math);
printf("请输入%d个学生的英语成绩:",i+1);
scanf("%d",&s[i].english);

s[i].count= (s[i].chinese +s[i].math+s[i].english) ;
printf("总分为:");
  printf("%d\n",s[i].count);
}

for(i=0;i<3;i++){
s[i].arg=(s[i].chinese +s[i].math+s[i].english)/3.0;
    printf("第%d学生的平均成绩是%f:\n",i+1,s[i].arg);
}
printf("姓名       语文     数学      英语       总成绩          平均成绩 \n");
for(i=0;i<3;i++)
   printf("%-10s %-10d %-10d %-10d %-10d %11lf \n",s[i].name,s[i].chinese,s[i].math,s[i].english,s[i].count,s[i].arg);
printf("**********************************************************************\n");
}



main()
{
   st s[3];
   printf_jl(s);

 getchar();
}


对于成绩当输入一个字符或是负数或三位数时,要实现提示框--提示输入错误并返原界面

希望各位大侠帮下忙啊,本人不甚感激!谢谢了啊!
2009-09-20 16:45
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:1 
TC 下没有windows.h文件
2009-09-20 17:24
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
收藏
得分:0 
回复 2楼 m456m654
有啊 在运用messagebox()时就必须要用windows.h
2009-09-20 20:08
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:2 
怎么不叫我帮你呢?
2009-09-20 21:11
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:5 
#include "stdio.h"
#include "windows.h"
typedef struct student
{
char name[8];
int chinese;
int math;
int english;
double arg;
int count;
}st;
 
void printf_jl(st t[])
{
int i,sum=0;
st s[3];  
printf("****************学生成绩信息***************\n");
getchar();
for(i=0;i<3;i++)
{
printf("请输入%d个学生的姓名:",i+1);
scanf("%s",&s[i].name);
printf("请输入%d个学生的语文成绩:",i+1);
scanf("%d",&s[i].chinese);
while(s[i].chinese<=0 || s[i].chinese>=100){
        MessageBox(0,"你输入了一个非法数据,请重新输入!","注意",0);
        printf("请输入%d个学生的语文成绩:",i+1);
        getchar();
        scanf("%d",&s[i].chinese);
         
}
printf("请输入%d个学生的数学成绩:",i+1);
scanf("%d",&s[i].math);
printf("请输入%d个学生的英语成绩:",i+1);
scanf("%d",&s[i].english);
 
s[i].count= (s[i].chinese +s[i].math+s[i].english) ;
printf("总分为:");
  printf("%d\n",s[i].count);
}
 
for(i=0;i<3;i++){  
s[i].arg=(s[i].chinese +s[i].math+s[i].english)/3.0;
    printf("第%d学生的平均成绩是%f:\n",i+1,s[i].arg);
}
printf("姓名       语文     数学      英语       总成绩          平均成绩 \n");
for(i=0;i<3;i++)
   printf("%-10s %-10d %-10d %-10d %-10d %11lf \n",s[i].name,s[i].chinese,s[i].math,s[i].english,s[i].count,s[i].arg);
printf("**********************************************************************\n");
}
 
 
 
main()
{
   st s[3];  
   printf_jl(s);
   getchar();
}
2009-09-20 21:42
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
收藏
得分:0 
回复 5楼 小J
强!你太强了啊!牛!
2009-09-20 22:01
shuijiashui
Rank: 2
等 级:论坛游民
帖 子:43
专家分:85
注 册:2009-9-1
收藏
得分:1 
回复 5楼 小J
你修改的调试了吗
我只看到这个位置就有错误
下面就不看了
最基本啦
scanf("%s",&s[i].name);
大意????????????????
2009-09-21 11:49
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:1 
s[i].name 是数组名,不用加'&'取地址符。

[ 本帖最后由 UserYuH 于 2009-9-21 12:06 编辑 ]

努力—前进—变老—退休—入土
2009-09-21 12:05
快速回复:帮忙完善下程序 -------------------急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016534 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved