鱼C论坛

 找回密码
 立即注册
查看: 2382|回复: 6

[技术交流] 今天学了结构体,写了个小程序,请大家指点指点……

[复制链接]
发表于 2014-4-12 04:45:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 只是想学C 于 2014-4-12 04:47 编辑

代码
#include <stdio.h>
#include <string.h>
#define N 3

struct person
{
    char name[20];
    int piao;
};

void main()
{
    struct person book[N]={{"li",0},{"wang",0},{"zhang",0}};
    int i,j;
    char p[20];
    
    for(i=1;i<=5;i++)
    {
        printf("Input name:");
        gets(p);
        for(j=0;j<3;j++)
        {
            if(strcmp(p,book[j].name)==0)
            {
                book[j].piao++;
            }
     
        }
        
    }
    
    printf("    name         piao        \n");
    for(i=0;i<N;i++)
    {
        printf("     %6s         %d\n",book[i].name,book[i].piao);
    }
}

效果截图:

QQ截图20140412045100.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-12 10:23:04 | 显示全部楼层
没加排序功能 即兴写了下 勿喷啊 O(∩_∩)O~
#include<stdio.h>
#include<string.h>

int Input();
void print(int n);
void copy(char * ch1,char * ch2,int i);
void tp(int n);

struct per
{
        char name[20];
        int n;
}person[50],t[50];

int main()
{
        int n;
        printf("请输入候选人名字(按0结束最多支持50个):");
        n = Input();
        tp(n);
        print(n);
        return 0;
}

int Input()
{
        char name[20];
        int k = 0;
        int i;
        char ch;
s1:        for(i = 0;i<20;i++)
        {
                name[i] = " ";
        }
        scanf("%s",name);
        if(*name != '0')
        {
                copy(person[k].name ,name,20);
                k++;
                while((ch = getchar())!='\n');
                goto s1;
        }
        return k;
}

void print(int n)
{
        int i;
        for(i = 0;i < n;i++)
        {
                printf("%-3s :   %-3d \n",person[i].name,person[i].n);
        }
}

void copy(char * ch1,char * ch2,int i)
{
        int k;
        for(k = 0;k<i;k++)
        {
                *(ch1+k) = *(ch2+k);
        }
}

void tp(int n)
{
        int i;
        char t_name[20];
        char ch;
        printf("候选人如下:\n");
        for(i = 0;i < n;i++)
        {
                printf("%-3s\n",person[i].name);
        }
s2:        printf("请输入你要投票的名字(输入0投票结束):");
        scanf("%s",t_name);
        
        if(*t_name == '0')
        {
                return;
        }
        else 
                for(i = 0;i<n;i++)
                {
                        if(strcmp(t_name,person[i].name)==0)
                        {
                                person[i].n++;
                                while((ch = getchar())!='\n');
                                goto s2;
                        }        
                }
                printf("你输入的名字不是候选人员,请重新输入!\n");
                while((ch = getchar())!='\n');
                goto s2;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-12 11:03:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-12 11:08:34 | 显示全部楼层
。。。。。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-12 11:17:41 | 显示全部楼层
大黑鱼 发表于 2014-4-12 11:03
问一句,你学c多久了?

一个半暑假
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-12 12:21:47 | 显示全部楼层
cout << "最终结果" << sum << endl;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-12 14:22:46 | 显示全部楼层
牡丹花下死做鬼 发表于 2014-4-12 10:23
没加排序功能 即兴写了下 勿喷啊 O(∩_∩)O~

厉害!赞一个!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 03:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表