只是想学C 发表于 2014-4-12 04:45:54

今天学了结构体,写了个小程序,请大家指点指点……

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

代码

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

struct person
{
    char name;
    int piao;
};

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

效果截图:

牡丹花下死做鬼 发表于 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;
        int n;
}person,t;

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

int Input()
{
        char name;
        int k = 0;
        int i;
        char ch;
s1:        for(i = 0;i<20;i++)
        {
                name = " ";
        }
        scanf("%s",name);
        if(*name != '0')
        {
                copy(person.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.name,person.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;
        char ch;
        printf("候选人如下:\n");
        for(i = 0;i < n;i++)
        {
                printf("%-3s\n",person.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.name)==0)
                        {
                                person.n++;
                                while((ch = getchar())!='\n');
                                goto s2;
                        }       
                }
                printf("你输入的名字不是候选人员,请重新输入!\n");
                while((ch = getchar())!='\n');
                goto s2;
}

大黑鱼 发表于 2014-4-12 11:03:13

牡丹花下死做鬼 发表于 2014-4-12 10:23 static/image/common/back.gif
没加排序功能 即兴写了下 勿喷啊 O(∩_∩)O~

问一句,你学c多久了?

最好是明天 发表于 2014-4-12 11:08:34

。。。。。。。。。。。。。。

牡丹花下死做鬼 发表于 2014-4-12 11:17:41

大黑鱼 发表于 2014-4-12 11:03 static/image/common/back.gif
问一句,你学c多久了?

一个半暑假

小川蛰哉 发表于 2014-4-12 12:21:47

cout << "最终结果" << sum << endl;

只是想学C 发表于 2014-4-12 14:22:46

牡丹花下死做鬼 发表于 2014-4-12 10:23 static/image/common/back.gif
没加排序功能 即兴写了下 勿喷啊 O(∩_∩)O~

厉害!赞一个!!
页: [1]
查看完整版本: 今天学了结构体,写了个小程序,请大家指点指点……