最近复习C语言的时候看到网上有个C语言通讯录的小项目,于是看了下那个程序实现的大概的功能,然后自己也跟着做了个。代码还算简洁,贴上来给有需要的人。

 //
// main.m
// AdressBook
//
// Created by bestkayle on 15/8/8.
// Copyright (c) 2015年 bestkayle. All rights reserved.
// #import <Foundation/Foundation.h>
int amount = ;//联系人数
int num;//输入的指令
int xuhao;//联系人编号
typedef struct Contact {
char name[];
int teleNumber;
}Co;
Co person[] = {
{"kayle",},
};
void addContracts(){
// for (int i = 0; i < 20; i ++) {
// for (int j = i; j < amount; j++) {
// person[j+1] = person[j];
// }
// }
}
void deleteContracts(xuhao){
for (int i = xuhao-; i < amount; i++) {
person[i] = person[i+];
}
}
void fixContracts(xuhao){ }
void displayAll(){
for (int i = ; i < amount; i ++) {
printf("%d.%s %d\n",i+,person[i].name,person[i].teleNumber);
}
}
void searchOne(xuhao){
printf("%d.%s%d\n",xuhao,person[xuhao-].name,person[xuhao-].teleNumber);
}
int main(int argc, const char * argv[]) {
printf("**********************************\n");
printf("****** 欢迎使用通讯录 ************\n");
printf("****** 1. 添加联系人 ************\n");
printf("****** 2. 删除联系人 ************\n");
printf("****** 3. 修改联系人 ************\n");
printf("****** 4. 查看所有联系人 ************\n");
printf("****** 5. 搜索联系人 *************\n");
printf("****** 6. 退出通讯录 *************\n");
printf("***********************************\n");
printf("请按提示进行操作:\n");
while (num != ){
scanf("%d",&num);
switch (num) {
case :
amount ++;
// addContracts();
printf("请输入姓名和电话号码:");
char name[] = {};
int telenumber;
scanf("%s%d",&*name,&telenumber);
strcpy(person[amount-].name,name);
person[amount-].teleNumber = telenumber;
printf("已存入\n");
break;
case :
amount --;
printf("请输入序号:");
scanf("%d",&xuhao);
deleteContracts(xuhao);
break;
case :
printf("请输入序号:");
scanf("%d",&xuhao);
printf("修改联系人请输入1,电话号码请输入2:");
int choose;
scanf("%d",&choose);
if (choose == ) {
char name[] = {};
printf("请输入姓名");
scanf("%s",name);
strcpy(person[xuhao-].name, name);
}
else{
int telenumber;
printf("请输入电话号码");
scanf("%d",&telenumber);
person[xuhao-].teleNumber = telenumber;
}
break;
case :
displayAll();
break;
case :
printf("请输入序号:");
scanf("%d",&xuhao);
searchOne(xuhao);
default:
break;}
if (num == ) {
printf("正在退出...\n");
sleep();
printf("已退出!");
} }
}

C语言做一个通讯录程序(在console里面运行)的更多相关文章

  1. ubuntu下使用C语言开发一个cgi程序

    主要步骤是: 1. 开发一个C程序(在标准输出中输出HTML字符串) 2. 复制到apache2的cgi-bin目录去 3. 在httpd.conf中开启cgi功能(我似乎没用到,也可以使用cgi) ...

  2. C语言做的句柄程序

    以vs2015为例---创建对话框程序  一直下一步,下一步,到最后 通过一个小型程序诸如 microsoft spy++我们可以获悉,窗口中失效按钮的句柄为0x00040AE8,由此我们可以给句柄发 ...

  3. 第一个java程序以及java的运行机制

    课堂要点: 编写第一个java程序以及理解java的运行机制. 1.基本命令介绍: javac命令: 编译java文件得到.class字节码文件 -encoding 参数:指定编译的编码 java命令 ...

  4. 用C语言做一个横板过关类型的控制台游戏

    前言:本教程是写给刚学会C语言基本语法不久的新生们. 因为在学习C语言途中,往往只能写控制台代码,而还能没接触到图形,也就基本碰不到游戏开发. 所以本教程希望可以给仍在学习C语言的新生们能提前感受到游 ...

  5. 用C语言写一个Helloworld_实现第一步编译运行

    编写第一个hello world 创建helloworld.c // 程序头文件 #include <stdio.h> // 主入口函数 int main(int arc, char* a ...

  6. NetAnalyzer笔记 之 三. 用C++做一个抓包程序

    [创建时间:2015-08-27 22:15:17] NetAnalyzer下载地址 经过前两篇的瞎扯,你是不是已经厌倦了呢,那么这篇让我们来点有意思的吧,什么,用C#.不,这篇我们先来C++的 Wi ...

  7. C语言的第一个程序 “hello world!”

    1,C语言的简介        C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. ...

  8. (转)如何学好C语言,一个成功人士的心得!

    zidier111发表于 2013-1-26 08:59:05   今 天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所 ...

  9. 怎样学好C语言,一个成功人士的心得!

    今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...

随机推荐

  1. Effective Java2读书笔记-类和接口(二)

    第15条:使可变性最小化 通过一个复数类来看不可变类. public final class Complex { private final double re; private final doub ...

  2. 【Android】使用BaseAdapter实现复杂的ListView

    步骤 使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你要准备好 List getData(). 2. 继承ListActivity专有屏,不再需要setContentView ...

  3. perl 获取阿里云主机信息

    use LWP::UserAgent; use Data::UUID; use Data::GUID; use HTTP::Date qw(time2iso str2time time2iso tim ...

  4. Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解

     上一篇博客我们讲解了如何使用Linux提供的文件操作函数,本文主要讲解使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...

  5. hdu4453-Looploop(伸展树)

    题目有很多图,不好粘贴..... 题意:给出N个数和K1,K2的值,最开始指针指向第一个数,有6种操作 add x : 给前K2个数都增加x reverse : 翻转前K1个数 insert x : ...

  6. HDU1394 Minimum Inversion Number(线段树OR归并排序)

    Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  7. linux下添加中文输入法

    一.安装环境 查看linux版本号 [ztteng@ztteng ~]$ lsb_release -aLSB Version:    :core-4.0-ia32:core-4.0-noarch:gr ...

  8. HtmlHelper扩展 及 页面编码化

    Html.Encode 新建Action,命名为HtmlEncodeDemo 将含有特殊字符的值传递给View视图 <%= ViewData["script"] %> ...

  9. fcitx 输入框纵向

    打开~/.config/fcitx/conf/fcitx-classic-ui.config 找到下面的:# 竖排候选词列表# 可选值:# True False#VerticalList=True-- ...

  10. 基础总结篇之四:Service完全解析

    富貴必從勤苦得,男兒須讀五車書.唐.杜甫<柏學士茅屋> 作为程序员的我们,须知富贵是要通过勤苦努力才能得到的,要想在行业内有所建树,就必须刻苦学习和钻研. 今天我们来讲一下Android中 ...