| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1570 人关注过本帖
标题:其实是这个代码有问题,但我看不出,求解答
取消只看楼主 加入收藏
小白来学技术
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-22
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:1 
其实是这个代码有问题,但我看不出,求解答
源代码如下:
#include <iostream>
#include <stdio.h>
#include<malloc.h>
#define N 9
using namespace std;
typedef struct node{
int num;
char name[20];
int sum;
}vote[N+1];
vote *p;
int number;
void xs(){
int i=1;
int n;
p=(vote*)malloc(sizeof(vote));
cout<<"请输入选手的数量:";
cin>>n;
number=n;
cout<<"请输入"<<n<<"名选手的编号和姓名:"<<endl;
while (n--)
{
cin>>p[i]->num>>p[i]->name;
i++;
}
cout<<"选手信息如下:"<<endl;
cout<<" 编号 姓名"<<endl;
for(i=1;i<=number;i++)
{
cout<<p[i]->num<<" "<<p[i]->name<<endl;
}


}


void toupiao()
{
int i,n;
for( i=1;i<=number;i++){
p[i]->sum=0;}
cout<<"请观众通过按键进行投票,按'1'对1号选手投票,按'2'对2号选手投票,以此类推,以按'0'作为投票结束标志"<<endl;
while (1)
{
cin>>n;
if (n==0) break;
while(n<1||n>number)
{cout<<"不存在此选手,请重新输入:";
cin>>n;}
p[n]->sum ++;
}

cout<<"投票完成!"<<endl;


}


void shellsort(vote *R,int n ){
int i,j,d;
for (d=n/2;d>=1;d=d/2){
for (i=d+1;i<=n;i++)
{
*R[0]=*R[i];
for(j=i-d;j>0&&R[j]->sum>R[0]->sum;j=j-d)
*R[j+d]=*R[j];
*R[j+d]=*R[0];
}
}
}


void main(){
int n,i;
while(1){
cout<<"1.输入选手信息"<<endl;
cout<<"2.观众投票"<<endl;
cout<<"3.比赛结果"<<endl;
cout<<"0.退出"<<endl;
cout<<"请输入你要选择的操作序号,按回车键确认:"<<endl;
cin>>n;
switch (n){
case 1:
xs();
break;
case 2:
toupiao();
cout<<"编号 姓名 票数 "<<endl;
for( i=1;i<=number;i++){
cout<<p[i]->num<<" "<<p[i]->name<<" "<<p[i]->sum<<endl;}
break;
case 3:
shellsort(p,number);
int t=1;
cout<<"名次 姓名 票数 "<<endl;
for( i=number;i>=1;){
for(int e=i;p[e]->sum==p[e-1]->sum;e--){
cout<<t<<" "<<p[e]->name<<" "<<p[e]->sum<<endl;}
cout<<t<<" "<<p[e]->name<<" "<<p[e]->sum<<endl;
t++;i=e-1;}
}
}
}
如果结构体中N+1改为N,那就出现下面这张情况,为什么

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include 源代码 number 信息 姓名 
2016-09-22 22:09
小白来学技术
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-22
收藏
得分:0 
回复 2楼 书生牛犊
明白了,其实只要定义int i=1;就不会出现这些问题了,不过还是谢谢大神,学到东西了。
2016-09-26 20:17
快速回复:其实是这个代码有问题,但我看不出,求解答
数据加载中...
 
   



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

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