当前位置: 代码迷 >> C语言 >> [求助]我写了个数据结构课程设计的程序,但是输出却是乱码,不知道是为什么 ...
  详细解决方案

[求助]我写了个数据结构课程设计的程序,但是输出却是乱码,不知道是为什么 ...

热度:387   发布时间:2007-10-09 10:03:57.0
[求助]我写了个数据结构课程设计的程序,但是输出却是乱码,不知道是为什么。

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <time.h>
#define NULL 0
const int N=2;
struct members
{
char name[10];
char sex[5];
int money;
struct members *next;
};

void jiemian()
{
printf("\t\t\t\t数据结构课程设计系统\t\n");
printf("\t\t\t\t\t-------网络工程0501班谷文杰\t\n");
}
void loading()
{
char ch;
printf("是否进入本系统(Y/N):");
scanf("%c",&ch);
switch(ch)
{
case 'y':printf("欢迎使用本系统,正在为您导入,请稍候...\n");break;
case 'Y':printf("欢迎使用本系统,正在为您导入,请稍候...\n");break;
case 'n':printf("谢谢您的使用\n");break;
case 'N':printf("谢谢您的使用\n");break;
default:printf("数据出错,无法为您服务\n");break;
}
}
void waitloading()
{
int end,start;
end=time(NULL);
start=time(NULL);
while(end-start<3)
end=time(NULL);
printf("\t\t******员工工资信息菜单*******\t\n");
printf("\t1.增加员工工资\t\t2.删除员工工资信息\t\n");
printf("\t3.修改员工工资信息\t4.查询员工工资信息\t\n");
printf("\t5.员工工资信息排行浏览\t6.管理员的用户管理\t\n");
}
members *create()/**************创建员工工资信息*************/
{
members *head,*tail,*p;
char a[10],b[5];
head=(members *)malloc(sizeof(members));
if(head==NULL)
{
printf("动态申请空间失败!\n");
exit(-1);
}
else
{
strcpy(head->name,"0");
strcpy(head->sex,"0");
head->money=0;
}
tail=head;
for (int i=0;i<N;i++)
{
printf("请输入第%d个员工工资信息:\n",i+1);
p=(members *)malloc(sizeof(members));
if(p==NULL)
{
printf("动态申请空间失败!\n");
exit(-1);
}
fflush(stdin);
printf("请输入人名:");
gets(a);
strcpy(head->name,a);
printf("请输入性别:");
gets(b);
strcpy(head->sex,b);
fflush(stdin);
printf("请输入工资:");
scanf("%d",&head->money);
p->next=NULL;
tail->next=p;
tail=p;
printf("\n");
}
return head;
}
void disp(members *head)/**************打印员工工资信息*************/
{
members *p;
p=head->next;
if(p==NULL)
{
printf("没有数据无法打印!\n");
exit(1);
}
else
{
printf("\t\t*******打印员工工资信息*******\t\n");
printf("姓名\t\t性别\t\t工资\n");
while(p)
{
printf("%s\t%s\t%d\n",p->name,p->sex,p->money);
p=p->next;
}
}
}
int main(int argc,char *argv[])
{
system("cls");
members *head;
jiemian();
loading();
waitloading();
/**************创建员工工资信息*************/
head=create();
/**************打印员工工资信息*************/
disp(head);
getch();
return 0;
}
我看不出来有什么问题,烦请各位劳劳神,指点一二。

搜索更多相关的解决方案: 数据结构  课程  乱码  输出  

----------------解决方案--------------------------------------------------------

你在那里运行的?


----------------解决方案--------------------------------------------------------
是不是这里:
void waitloading()
{
int end,start;
end=time(NULL);
start=time(NULL);
while(end-start<3)
end=time(NULL);
printf("\t\t******员工工资信息菜单*******\t\n");
printf("\t1.增加员工工资\t\t2.删除员工工资信息\t\n");
printf("\t3.修改员工工资信息\t4.查询员工工资信息\t\n");
printf("\t5.员工工资信息排行浏览\t6.管理员的用户管理\t\n");
}

----------------解决方案--------------------------------------------------------
我是在VC++6.0上运行的呀。。。
应该不是LS的看法吧,我的程序没有结果输出。在帮忙看看
----------------解决方案--------------------------------------------------------
fflush(stdin);
printf("请输入人名:");
gets(a);
strcpy(p->name,a); // 是p不是head
printf("请输入性别:");
gets(b);
strcpy(p->sex,b);
fflush(stdin);
printf("请输入工资:");
scanf("%d",&p->money);

----------------解决方案--------------------------------------------------------
没时间细看代码了
输出是乱码说明指针指错了
lz先自检一下代码吧

----------------解决方案--------------------------------------------------------
谢谢五楼的同志喔。。。没注意看,太粗心了/呵呵,下次会注意的。
----------------解决方案--------------------------------------------------------
别人谢当然要说客气了,

谁都会粗心,我也是偶然看到的.
----------------解决方案--------------------------------------------------------
  相关解决方案