字符串转换整形数,结构体数组排序

#include <stdio.h>

#include<string.h>

#include<conio.h>

#include <stdlib.h>

FILE *p;

#define    N    3

struct hacker

{

    char  name[11];

    char   num[20];

    char  xingbie[3];

}z[N];



//输入模块

void shuru()

{

    char *s="网名  QQ号码  性别信息";

    int i;

    system("cls");

    printf("欢迎进入录入模块!\n\n");

    p=fopen("d:\\hacker.txt","w+");

    printf("请输入人员的网名 QQ号码 性别信息\n\n");

    fprintf(p,"%s\n",s);

    for(i=0;i<N;i++)//i<=2停止 0 1 2

    {

        scanf("%s%s%s",z[i].name,z[i].num,z[i].xingbie);

        fprintf(p,"%s\t%s\t%s\n",z[i].name,z[i].num,z[i].xingbie);     

    }

    fclose(p);

    printf("\n录入完成!按任意键继续!!!\n");

    getch();

}

//浏览模块

void liulan()

{

    int j;

    system("color a");

    system("cls");

    printf("欢迎进入浏览模块!\n\n");

    printf("下面是浏览记事本中的结果:\n\n");

    p=fopen("d:\\hacker.txt","r");

    for(j=0;!feof(p);j++)

    {

        putchar(fgetc(p));/*读取一个字符同时输出*/ 

    }

    printf("\n浏览完毕!按任意键继续!!!\n");

    getch();

    fclose(p);

}

//排序模块

void paixu()

{

    int i,j;

    struct hacker t;

    system("cls");

    printf("欢迎进入排序模块!\n\n");

    printf("排序前:\n\n");

    for(i=0;i<N;i++)//i<=2停止 0 1 2

    {

        printf("%s\t%s\t%s\n",z[i].name,z[i].num,z[i].xingbie);    

    }

    for(i=0;i<N;i++)

    {

        for(j=i;j<N;j++)

            if(atoi(z[i].num)<atoi(z[j].num))

            {

                t=z[i];

                z[i]=z[j];

                z[j]=t;

            }

    }

    printf("\n排序后:\n\n");

    for(i=0;i<N;i++)//i<=2停止 0 1 2

    {

        printf("%s\t%s\t%s\n",z[i].name,z[i].num,z[i].xingbie);    

    }

    printf("\n排序完毕,按任意键继续!\n");

    getch();

}

//查找模块

void chazhao()

{

    char a[20];

    int i,j;

    system("cls");

    printf("欢迎进入查询模块!\n\n");

    p=fopen("d:\\hacker.txt","r");

    printf("请输入你需要查找的QQ号:");

    scanf("%s",a);

    for(j=0;!feof(p);j++)

    {

        fgetc(p);

    }

    printf("\n查找结果如下:\n\n");

    for(i=0;i<j-1;i++)

    {

        if(strcmp(a,z[i].num)==0)

            printf("网名:\t%s\tQQ号:\t%s\t性别:\t%s\n",z[i].name,&z[i].num,z[i].xingbie);

    }

    printf("\n\n查找完毕!按任意键继续!\n\n");

    getch();

    fclose(p);

}

//主函数

void main()

{

    int a,i;

    system("color 0a");

    for(i=1;a!=0;i++)

    {

        system("cls");

        printf("★******************************************************************★\n");

        printf("§*******************★欢迎使用社工系统★*****************************§\n");

        printf("§*********************************************************************************§\n");

        printf("§§                                                                                                                        §§\n");

        printf("§§        功能说明:                                                                                       §§\n");

        printf("§§                                                                                                                        §§\n");

        printf("§§         1.-输入信息!                                                                                  §§\n");

        printf("§§         2.-浏览信息!                                                                                  §§\n");

        printf("§§         3.-排序信息!                                                                                   §§\n");

        printf("§§         4.-查找信息!                                                                                   §§\n");

        printf("§§         0.-退出系统!                                                                                   §§\n");

        printf("§§                                                                                                                           §§\n");

        printf("§§                                                by 星云!                                                      §§\n");

        printf("§§                                                                                                                           §§\n");

        printf("★***********************************************************************************★\n");

        printf("请选择0-3选项:");

        scanf("%d",&a);

        switch(a)

        {

        case 1:shuru();break;

        case 2:liulan();break;

        case 3:paixu();break;

        case 4:chazhao();break;

        case 0:break;

        default:printf("选择错误,按任意键后请重新选择!\n");getch();break;

        }

    }

}
C语言库函数名: atoi
  功 能: 把字符串转换成整型数
  函数说明: atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。
  原型: int atoi(const char *nptr);
  需要用到的头文件: #include <stdlib.h>

你可能感兴趣的:(字符串)