求助啊
vs2012吧
全部回复
仅看楼主
level 9
棋龟V 楼主
#include "stdafx.h"
#include<stdio.h>
struct Person
{ int sn;
char name[20];
int salary[3];
int total;};
void Scanw(struct Person *p,int);
void Print(struct Person *p,int);
int main(){
int i,j=0;
double jun=0;
struct Person worker[5];
Scanw(worker,5);
for(i=0;i<5;i++)jun=jun+worker[i].salary[0];
jun=jun/5;
for(i=0;i<5;i++)
if(worker[i].salary[0]>jun)j++;
Print(worker,5);
printf("%lf\n",jun);
printf("%d\n",j);
return 0;}
void Scanw(struct Person *p,int n){
int i;for(i=0;i<n;i++){
scanf_s("%d",&p->sn);
scanf_s("%s",p->name);
scanf_s("%d %d %d",&p->salary[0],&p->salary[1],&p->salary[2]);
p++;}}
void Print(struct Person *p,int n){
int i;for(i=0;i<n;i++){
printf("%d ",p->sn);
printf("%s ",p->name);
printf("%d %d %d ",p->salary[0],p->salary[1],p->salary[2]);
p->total=p->salary[0]+p->salary[1]+p->salary[2];
printf("%d\n",p->total);
p++;}}
2013年05月28日 05点05分 1
level 9
棋龟V 楼主
这是错误问题
0x66B9DEF0 (msvcr110d.dll) (11.exe 中)处有未经处理的异常: 0xC0000005: 写入位置 0x00B30000 时发生访问冲突。
2013年05月28日 05点05分 2
level 2
是scanf_s的用法用错了,当你使用了字符串时,你必须提供一个数字来表明能读多少个字符。
我改写了这句:
scanf_s("%d%s%d%d%d",&p->sn,p->name,20,&p->salary[0],&p->salary[1],&p->salary[2]);
还有,我是不建议你现在使用stdafx.h的,这是建立win32项目时使用的,你不要听一些还不如你的人的说法,这些说法会让你无法真正理解C语言的,我的看法是你应该等到开始设计windows窗体的时候再用这个。
2013年05月28日 17点05分 3
回复@jiang_42_6 :我的vc6.0不是很兼容,经常出错,所以换了个vs2012,可是现在不会用啊,stdafx.h是我打开后自动填写的 ------来自 爱贴吧HD for Windows8
2013年05月29日 04点05分
回复 ft1018537508 :你新建一个空项目啊!stdafx.h里面是一些头文件和自定义数据类型,可以这样说,你完全用不上的。
2013年05月29日 04点05分
level 2
很简单的,只要把“空项目”打勾就行了。
win32控制台程序与windows的关系是这样的:windows->虚拟的CMD->win32控制台程序。它是在一个模拟的DOS环境上工作的。你现在的用的语言是1975年左右产生的,那个时候还有卡片机呢!DOS环境是当时最新锐的技术,MS-C是工作在这个环境上的,MS-C是现在VS的前身。
但是,微软在不断的发展,他们在很早的时候就计划向图形窗口发展,于是产生了第一个windows版本,DOS与windows的关系是这样的,DOS->虚拟的windows应用平台->具有图形窗口的程序。当条件合适后,他们就把DOS真正的移除掉了。最低层的就是windows了,为了兼容一些程序,比如像你编写的程序,他们又虚拟了一个CMD,他们实际上是在还原过去,还原到C语言发展得最好的时期,运行得最好的环境中,如果你不使用stdafx会很逼真的还原到70年代,这样有一个好处,这样你在编写程序时就可以不考虑一些其他的因素了。
2013年05月29日 05点05分 5
level 2
再补充一下,微软移除DOS应该是在2005年左右完成的。
那时候有三个版本已经没有实际上的DOS了,是windows me,windows2000,windows xp。
2013年05月29日 05点05分 6
回复@jiang_42_6 :知道了,谢谢[太开心] ------来自 爱贴吧HD for Windows8
2013年05月29日 05点05分
回复 ft1018537508 :我也不知道我是在做什么,但是,我每天都会来这里看一下。把我知道的都说出来。
2013年05月29日 13点05分
回复@jiang_42_6 :按你的方法,可是没有打开cpp,不能编写啊 ------来自 爱贴吧HD for Windows8
2013年05月29日 14点05分
回复 ft1018537508 :你看看下面的步骤,字体太小,你可以点击它放大看。最后一张图要看仔细点,要把源文件移入项目中才能编译这个源文件的。
2013年05月30日 06点05分
level 2
2013年05月30日 06点05分 7
1