C语言IP地址查询系统如何实现?

Python033

C语言IP地址查询系统如何实现?,第1张

我觉得你这个需求,倒不一定非得用c语言来实现。你这个其实可以调用百度的插件,因为你在百度上输入这个IP地址的话,然后他就能查出来这个IP所在的位置,你可以用JAVA,然后调用百度的一些插件就能实现这个功能。

#include<stdio.h>

#include<string.h>

#define N 20

struct shop{

char name[10]

float pri

}a[N]

void inputa(int n,int n0){

for(int i=n-n0i<ni++){

printf("请输入品名 价格\n")

scanf("%s%f",&a[i].name,&a[i].pri)

}

}

void change(char s[],int n){

for(int i=0i<ni++){

if(!strcmp(s,a[i].name)){

printf("改价格:")

scanf("%f",&a[i].pri)

break

}

else printf("未找到!")

}

}

void find(char s[],int n){

for(int i=0i<ni++){

if(!strcmp(s,a[i].name)){

printf("%d\t%s\t%.2f\n",i+1,a[i].name,a[i].pri)

break

}

else printf("未找到!")

}

}

void outa(int n){

for(int i=0i<ni++){

printf("%d\t%s\t%.2f\n",i+1,a[i].name,a[i].pri)

}

}

void del(char s[],int n){

for(int i=0i<n-1i++){

if(!strcmp(s,a[i].name))

while(i<n-1){

a[i]=a[i+1]++i

}

else printf("未找到!")

}

}

int main(){

int t=1,n=0,n0=0

char s[10]

while(t){

printf("1 增加记录\n2 修改价格\n3 删除记录\n4 查询商品\n5 查看全部\n0 退出系统\n")

scanf("%d",&t)

if(t<1)break

switch(t){

case 1:

printf("增加记录条数?")

scanf("%d",&n0)

n+=n0

inputa(n,n0)

break

if(n<1) break

case 2: printf("输入品名:")

scanf("%s",s)

change(s,n)

break

case 3: printf("输入品名:")

scanf("%s",s)

del(s,n)

n--

break

case 4:

printf("输入品名:")

scanf("%s",s)

find(s,n)

break

case 5:

outa(n)

break

}

}

return 0

}

#include<stdlib.h>

#include<stdio.h>

#include<string.h>

#include<conio.h>

#define N 10

/*****定义结构体*****/

typedef struct students/*标记为students*/

{

char num[10] /*学生学号*/

char name[10] /*学生姓名*/

int age /*年龄*/

char sex[10] /*性别*/

float cyy /*C语言成绩*/

float computer/*计算机成绩*/

float english /*英语成绩*/

float pj /*平均成绩*/

}STU

STU temp

void sort(STU students[],int n)//排序

void save(STU students[] ,int n)//导出

int Locate(STU students[],int n)//查询

/*--------------显示菜单--------------------*/

char displaymenu()

{

char k

system("cls")

printf(" 学生成绩管理\n")

printf("-----------------------------------应用菜单-------------------------------------\n")

printf(" 1 输入学生成绩\n\n")

printf(" 2 输出学生成绩\n\n")

printf(" 3 查询学生成绩\n\n")

printf(" 4 修改学生成绩\n\n")

printf(" 5 查看成绩排序\n\n")

printf(" 6 查看成绩统计\n\n")

printf(" 7 保存数据\n\n")

printf(" 8 读取数据\n\n")

printf(" 9 退出系统\n\n")

printf(" 请选择你想进行的操作:")

k=getchar()

return k

}

/*****定义输出函数*****/

void printheader() /*格式化输出表头*/

{

printf("\n\n************************学生成绩管理系统****************************\n\n\n")

printf("| 学号 | 姓名 | 年龄 | 性别 | C语言成绩 |计算机成绩 | 英语成绩| 平均成绩 | \n")

}

void printdata(STU pp) /*格式化输出表中数据*/

{

STU* p

p=&pp

printf("| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f|%-5.0f|%-6.0f|\n",p->num,p->name,p->age,p->sex,p->cyy,p->computer,p->english,p->pj)

}

/*****添加学生信息*****/

int add(STU students[] ,int *n)

{

int i=0

system("cls")

printf(" \n")

printf("请输入学生信息\n")

printf(" 退出请在学生号处输入:0 \n")

printf("请输入学生学号:\n ")

scanf("%s",students[i].num)

while(strcmp(students[i].num,"0") )//当输入的学号为0时结束输入

{

printf("请输入学生姓名:\n ")

scanf("%s",students[i].name)

printf("****************\n\n\n")

printf("请输入学生年龄:\n ")

scanf("%d",&students[i].age)

printf("****************\n\n\n")

printf("请输入学生性别:\n")

scanf("%s",students[i].sex)

printf("****************\n\n\n")

printf("请输入C语言成绩:\n ")

scanf("%f",&students[i].cyy)

printf("****************\n\n\n")

printf("请输入计算机成绩:\n ")

scanf("%f",&students[i].computer)

printf("****************\n\n\n")

printf("请输入英语成绩:\n ")

scanf("%f",&students[i].english)

printf("****************\n\n\n")

students[i].pj=(students[i].cyy+students[i].computer+students[i].english)/3

printf("学生平均成绩: %-8.0f\n",students[i].pj)

i++

printf("****************\n\n\n")

printf("请输入学生学号:\n ")

scanf("%s",students[i].num)

}

*n=i

save(students ,i)

return i

}

/*****查询学生信息函数*****/

int Locate(STU students[],int n)

{

int k,m=-1

char num[10],name[20]

int i=0

system("cls")

printf(" 退出请输入:0 \n")

printf("请选择以什么方式查询:1).按学生学号查询 2).按学生姓名查询 \n")

scanf("%d",&k)

if(k==1)

{

printf("请输入你要查询的学生学号:\n")

scanf("%s",num)

while(i<n)

{

if(strcmp(students[i].num,num)==0) /*若找到学号*/

{

printf(">>学生学号:%s\n*学生姓名:%s\n*学生年龄:%d\n*学生性别:%s\n>C语言成绩:%-8.0f\n>计算机成绩:%-8.0f\n>>英语成绩:%-8.0f\n>>平均成绩:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj)

m=i

getchar()

break

}

i++

}

if(i>=n)

printf("没有所找学生信息\n")

getchar()

}

else if(k==2)

{

printf("请输入你要查询的学生姓名:\n")

scanf("%s",name)

while(i<n)

{

if(strcmp(students[i].name,name)==0) /*若找到姓名*/

{ printf("学生学号:%s\n学生姓名:%s\n学生年龄:%d\n学生性别:%s\n学生C语言成绩:%-8.0f\n计算机成绩:%-8.0f\n英语成绩:%-8.0f\n平均成绩:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj)

m=i

getchar()

break

}

i++

}

if(i>=n)

printf("没有所找学生信息\n")

}

return m/*返回一个根m便于修改学生信息*/

getchar()

}

/*****显示函数*****/

void input(STU students[],int n)

{

int i

system("cls")//清屏

if(n==0) /*表示没有学生信息记录*/

{

printf("\n没有学生记录!\n")

}

printf("\n\n")

printheader()/*输出表格头部*/

i=0

while(i<n)/*逐条输出数组中存储的学生信息*/

{

printdata(students[i])

i++

}

getchar()

}

/*****修改子程序*****/

void Modify(STU students[],int n)

{

int i

if(n<=0)

{

system("cls")

printf(" \n退出请输入:0 \n")

printf("\n----------not found!----------\n")

getchar()

return

}

system("cls")

printf("修改学生信息")

input(students,n)

i=Locate(students,n)/*查询到该数组元素,并返回下标值*/

if(i!=-1) /*若i!=-1,表明已经找到该数组元素*/

{

printf("请输入新的学生信息: \n")

printf(" 学号: ")

scanf("%s",students[i].num)

printf(" 姓名: ")

scanf("%s",students[i].name)

printf(" 年龄: ")

scanf("%d",&students[i].age)

printf(" 性别: ")

scanf("%s",students[i].sex)

printf(" C语言: ")

scanf("%f",&students[i].cyy)

printf(" 英语: ")

scanf("%f",&students[i].english)

printf("计算机: ")

scanf("%f",&students[i].computer)

students[i].pj=(students[i].cyy+students[i].english+students[i].computer)/3

printf("平均成绩: %-9.0f\n",students[i].pj)

save(students ,n)

printf("\n-------------修改成功!-------------\n")

}

else

printf("not found!\n")

getchar()

}

/*****学生成绩排序子程序*****/

void sort(STU students[],int n)

{

int i,j,a,b,c,d,e,f,k

float p

printf(" \n退出请输入:0 \n")

printf("成绩排序方式选择: 1.按C语言2.按英语3.按平均\n ")

scanf("%d",&k)

if(k==1)/*用选择法对C语言排序*/

{

for(i=0i<ni++)

for(j=0j<n-1j++)

{

if(students[i].english<students[j+1].english)

{

temp=students[i]

students[i]=students[j+1]

students[j+1]=temp

}

}

}

else if(k==2)/*英语用冒泡法*/

{

for(a=0a<n-1a++)

{

c=a

//未完待续