yqj234

package app.yqj.weidian;


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.format.Time;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import app.yqj.helper.Helper;


public class Main extends Activity {


private static final boolean DEBUG = false;
private static final String TAG = null;


private Button btnOpen = null;
private Button btnReload = null;
private WebView webView = null;
private WebSettings webSettings = null;
private EditText txt = null;
private TextView tvRemark = null;


private    String URL = "http://im.koudai.com/chat/?from_platform=h&from_user_id=1428934398492_31006478634662926&to_platform=a&to_user_id=326318438&kduss=&im_shop_id=326318438&im_enter=item&im_item_id=886604598";


// private String sUrl = "http://10.42.23.206:8080/test/test.aspx";


private String sScript = "";
private String sTime = "";
private Context mContext = null;
private int iCount = 0;
private int iRandom = 0;
private Timer timer=null;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);


setContentView(R.layout.main);
mContext = this;


webView = (WebView) super.findViewById(R.id.wv_main_page);
btnOpen = (Button) super.findViewById(R.id.btn_main_open);
btnOpen.setOnClickListener(new OpenOnClickListener());


btnReload = (Button) super.findViewById(R.id.btn_main_reload);
btnReload.setOnClickListener(new ReloadOnClickListener());


ActionBar actionbar = this.getActionBar();
actionbar.show();

OpenUrl();


// 璁惧畾瀹氭椂鍣�
timer = new Timer();
// timer.schedule(new MyTask(), 1000, 9000);
// timer.schedule(new MyTask(), 3000);
timer.scheduleAtFixedRate(new MyTask(), 1000,5000);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);


return true;
}


/*
* (non-Javadoc)

* @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case (R.id.item2):
Toast.makeText(mContext, "menu1", Toast.LENGTH_SHORT).show();
break;
default:
return super.onOptionsItemSelected(item);
}


return true;


}


/**
* 瀹氭椂鍣ㄦ墽琛岀殑绫�

* @author Administrator

*/
public class MyTask extends TimerTask {
@Override
public void run() {
Message message = new Message();
message.what = 1;
myHandler.sendMessage(message);


}


}


/**
* 娑堟伅澶勭悊绫�
*/
private Handler myHandler = new Handler() {


public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
iCount = iCount + 1;
SetTimerText();
Random random = new Random();
iRandom = random.nextInt(10);


if (iCount%2== 1)
{
new OpenOnClickListener().onClick(null);
}
 


if (iCount%2== 0) {


//if (OpenUrl()) {
//SubmitUrl();


//}
//new OpenOnClickListener().onClick(null);
new ReloadOnClickListener().onClick(null);



 

}
// SetImageResource(0);
// SetTextSwitcherText(0);
break;
}
};
};


public class OpenOnClickListener implements OnClickListener {


@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub


// sUrl = "http://10.42.23.206/Logon/login.aspx";
URL = "http://im.koudai.com/chat/?from_platform=h&from_user_id=1428934398492_31006478634662926&to_platform=a&to_user_id=326318438&kduss=&im_shop_id=326318438&im_enter=item&im_item_id=886604598";


webView.loadUrl(URL);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new Handler(), "handler");
// 
webView.getSettings().setSupportZoom(true);
// 
webView.getSettings().setBuiltInZoomControls(true);
webView.setWebViewClient(new MyWebViewClient());
webView.setWebChromeClient(new MyWebChromeClient());
webSettings = webView.getSettings();


}


}


/**
* 锟斤拷锟铰硷拷锟截o拷锟结交锟�

* @author Administrator

*/
public class ReloadOnClickListener implements OnClickListener {


@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

Date date = new Date(System.currentTimeMillis());
SimpleDateFormat format = new SimpleDateFormat(
"yyyy-MM-dd  HH:mm:ss E ");
String nowTime = format.format(date);

nowTime=String.valueOf(iCount)+":"+nowTime;

Random random = new Random();
iRandom = random.nextInt(10000);

nowTime=String.valueOf(iRandom);


//sScript = "javascript:document.getElementById(\"imc_form_submit_input\").click();";
sScript = "javascript:document.getElementById(\"imc_form_input\").value=\""
+ nowTime
+ "\";document.getElementById(\"imc_form_submit_input\").click(); ";


webView.loadUrl(sScript);


}


}


public class MyWebViewClient extends WebViewClient {


public void onPageFinished(WebView view, String url) {


 

Date date = new Date(System.currentTimeMillis());
SimpleDateFormat format = new SimpleDateFormat(
"yyyy-MM-dd  HH:mm:ss E ");
String nowTime = format.format(date);

nowTime=String.valueOf(iCount)+nowTime;


Toast.makeText(Main.this, nowTime, 0).show();
 


sScript = "javascript:document.getElementById(\"imc_form_input\").value=\""
+ nowTime + "\"; ";


// sScript = "javascript:document.getElementById(\"imc_form_input\").value=\""
// + nowTime
// + "\";document.getElementById(\"imc_form_submit_input\").click(); ";


view.loadUrl(sScript);
 


}


public void onProgressChanged(WebView view, int progress) {
Main.this.setTitle("Loading...");
Main.this.setProgress(progress * 100);
if (progress == 100)
Main.this.setTitle(R.string.app_name);
}


public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
if (DEBUG) {
Log.d("执锟叫硷拷锟斤拷页锟斤拷锟铰硷拷", " onLoadResource ");
}


// webView.loadUrl(sUrl);


super.onLoadResource(view, url);
}


public void onReceivedSslError(WebView view, SslErrorHandler handler,
android.net.http.SslError error) {
handler.proceed();


}


/**
*  
*/
public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {


// webView.loadUrl(sUrl);


return super.shouldOverrideKeyEvent(view, event);
}


}


/**
* 鑷畾缇¦ebChromeClient椤烇紝铏曢噺JavaScript浜嬩欢

* @author k1311p99

*/
public class MyWebChromeClient extends WebChromeClient {


/*
* (non-Javadoc)

* @see android.webkit.WebChromeClient#onJsAlert(android.webkit.WebView,
* java.lang.String, java.lang.String, android.webkit.JsResult)
*/
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
// TODO Auto-generated method stub
// 鏋勫缓涓�釜Builder鏉ユ樉绀虹綉椤典腑鐨刟lert瀵硅瘽妗�


// AlertDialog.Builder builder = new AlertDialog.Builder(context);
// builder.setTitle("From JavaScript").setMessage("鎴戞槸鏉ㄦ竻鏉�).show();
// builder.setTitle("From JavaScript").setMessage(message).show();
// result.cancel();
// return true; }
return false;


// return super.onJsAlert(view, url, message, result);
}


public void onPageFinished(WebView view, String url) {


// view.loadUrl("javascript:window.local_obj.showSource('<head>'+" +
// "document.getElementsByTagName('html')[0].innerHTML+'</head>');");
Calendar ca = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat(
"yyyy-MM-dd  HH:mm:ss E ");
String sNowTime = format.format(ca);


/*
* Date date = new Date(System.currentTimeMillis());
* SimpleDateFormat format = new
* SimpleDateFormat("yyyy-MM-dd  HH:mm:ss E "); sNowTime =
* format.format(date);
*/


// sScript =
// "javascript:document.getElementById(\"txtUserID\").value=\""+sNowTime+"\";document.getElementById(\"txtPassword\").value=\"000\"; ";


// sScript =
// "javascript:document.getElementById(\"imc_form_input\").value=\""
// + sNowTime + "\"; ";


// view.loadUrl(sScript);


}


}


protected void SetTimerText() {
// TODO Auto-generated method stub
tvRemark = (TextView) findViewById(R.id.tv_remark);
tvRemark.setText("brant");
Date now = new Date(0);


Calendar ca = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat(
"yyyy-MM-dd  HH:mm:ss E ");
String nowTime = format.format(now);


Time t = new Time();


t.setToNow(); // 鍙栧緱绯荤粺鏃堕棿銆�
int year = t.year;
int month = t.month;
int date = t.monthDay;
int hour = t.hour; // 0-23
int minute = t.minute;
int second = t.second;


tvRemark.setText("Now Time:" + year + "-" + month + "-" + date + " "
+ hour + ":" + minute + ":" + second + " Count:" + iCount
+ " Random:" + iRandom);


}


protected Boolean OpenUrl() {
Boolean bResult = false;
try {
 
webView.loadUrl(URL);
webView.getSettings().setJavaScriptEnabled(true);
// webView.addJavascriptInterface(new Handler(), "handler");


// 璁剧疆鍙互鏀寔缂╂斁
webView.getSettings().setSupportZoom(true);
// 璁剧疆鍑虹幇缂╂斁宸ュ叿
webView.getSettings().setBuiltInZoomControls(true);
webView.setWebViewClient(new MyWebViewClient());
webView.setWebChromeClient(new MyWebChromeClient());


webSettings = webView.getSettings();


bResult = true;
} catch (Exception ex) {
bResult = false;
}


return bResult;
}


protected Boolean SubmitUrl() {
Boolean bResult = false;
try {
sScript = "javascript:document.getElementById(\"imc_form_submit_input\").click();";
webView.loadUrl(sScript);
bResult = true;
} catch (Exception ex) {
bResult = false;
}
return bResult;
}
}
#include<stdio.h> #include<stdlib.h> #define MAX_SIZE 100 struct name//定义结构体 { int a; char b[100]; int c; }yqj; name yqj[MAX_SIZE] = { 0 }; int yqjconst = 0; void arr1(int n); void arr2(int n); int main() { int yqjconst = 0; name yqj[MAX_SIZE]; int i = 1; int j = 0; printf("输入元器件种类数"); scanf_s("%d", &i); int d,f; char e; while (i--) { name yqj[MAX_SIZE]; printf("输入编号\n"); scanf_s("%d", & yqj[j].a); printf("输入名称\n"); scanf_s("%s", &yqj[j].b); printf("输入数量\n"); scanf_s("%d", &yqj[j].c); j++; yqjconst++; } int x; while (1) { printf("请选择操作:\n"); printf("1: 选择并重新输入编号为 n 的结构体的所有数据\n"); printf("2: 修改编号为 n 的元器件的数量\n"); printf("3: 列出所有数量为 0 的电子元器件数据\n"); printf("4: 列出所有数据\n"); printf("5: 中止程序\n"); scanf("%d", &x); switch (x) { case 1: int gai; printf("输入要重新输入数据的元器件编号\n"); scanf_s("%d", &gai); arr1(gai); break; case 2: int hai; printf("输入要修改的元器件数量的编号"); scanf_s("%d", &hai); arr2(hai); break; } } return 0; }void arr1(int n) { int i ; for (i = 1;i < yqjconst;i++) { if (name yqj[i].a == n) { printf("重新输入编号\n"); scanf_s("%d", &yqj[i].a); printf("重新输入名称\n"); scanf_s("%s", &yqj[i].b); printf("重新输入数量\n"); scanf_s("%d", &yqj[i].c); } return ; } } void arr2(int n) { int i = 0; for (i = 0;i < yqjconst;i++) { printf("重新输入新的数量"); scanf("%d", &yqj[i].a); return ; } }
05-13
<think>好的,我现在需要帮助用户解决C语言结构体数组的输入输出和修改的问题。用户可能刚接触结构体,不太清楚如何操作数组中的结构体成员。首先,我应该回忆一下结构体的基本概念,以及如何定义结构体数组。根据用户提供的引用内容,特别是引用[2]和引用[4],结构体用于处理不同数据类型的数据组合,比如学生信息。接下来,用户需要输入输出和修改结构体数组的数据,所以示例代码需要覆盖这些操作。 首先,定义一个学生结构体,包含学号、姓名、成绩等字段。然后,结构体数组的输入需要使用循环,逐个读取每个学生的信息。要注意字符串的输入可能会有换行符的问题,可能需要用getchar()吸收多余的回车。输出部分同样需要遍历数组,打印每个成员的值。修改数据的话,可能需要先查找特定学生,比如按学号查找,然后允许用户修改其信息。 检查引用中的示例代码,比如引用[3]和引用[4],其中引用[4]提到了结构体数组的使用,包括输入和计算平均成绩,这可能对用户有帮助。我需要确保代码语法正确,比如使用scanf读取字符串时是否需要使用&符号,结构体成员的访问方式是否正确。 然后,用户可能需要一个完整的示例,包括主函数中的菜单选择,比如输入、显示、修改、退出。这有助于用户理解整个流程。此外,错误处理也很重要,比如输入时检查学号是否存在,修改时提示成功或失败。 在编写代码时,要注意结构体数组的声明和初始化,以及如何通过指针或下标访问成员。比如,在修改函数中,传递结构体数组的指针,或者直接通过数组下标修改。同时,确保使用中文注释,方便用户理解每一步的操作。 最后,根据用户的要求生成相关问题,这些问题应该围绕结构体数组的进一步应用,比如排序、动态内存分配、文件操作等,帮助用户扩展知识。</think>以下是一个C语言结构体数组操作的完整示例,包含输入、输出、修改功能: ```c #include <stdio.h> #include <string.h> #define MAX_STUDENTS 3 #define NAME_LEN 20 // 定义学生结构体类型 typedef struct { char id[12]; // 学号 char name[NAME_LEN];// 姓名 float score[3]; // 三门课成绩 } Student; // 输入学生信息函数 void input_students(Student *stu_arr) { printf("\n请输入%d个学生信息:\n", MAX_STUDENTS); for(int i=0; i<MAX_STUDENTS; i++){ printf("\n学生%d:\n", i+1); printf("学号:"); scanf("%s", stu_arr[i].id); printf("姓名:"); scanf("%s", stu_arr[i].name); printf("三科成绩:"); scanf("%f %f %f", &stu_arr[i].score[0], &stu_arr[i].score[1], &stu_arr[i].score[2]); getchar(); // 吸收多余回车 } } // 输出学生信息函数 void print_students(Student *stu_arr) { printf("\n%-12s%-8s%-8s%-8s%-8s\n", "学号","姓名","成绩1","成绩2","成绩3"); for(int i=0; i<MAX_STUDENTS; i++){ printf("%-12s%-8s%-8.1f%-8.1f%-8.1f\n", stu_arr[i].id, stu_arr[i].name, stu_arr[i].score[0], stu_arr[i].score[1], stu_arr[i].score[2]); } } // 修改学生信息函数 void modify_student(Student *stu_arr) { char target_id[12]; printf("\n请输入要修改的学生学号:"); scanf("%s", target_id); for(int i=0; i<MAX_STUDENTS; i++){ if(strcmp(stu_arr[i].id, target_id) == 0){ printf("找到学生 %s,请输入新信息:\n", target_id); printf("新姓名:"); scanf("%s", stu_arr[i].name); printf("新三科成绩:"); scanf("%f %f %f", &stu_arr[i].score[0], &stu_arr[i].score[1], &stu_arr[i].score[2]); printf("修改成功!\n"); return; } } printf("未找到该学号学生!\n"); } int main() { Student students[MAX_STUDENTS]; int choice; while(1){ printf("\n1.输入信息 2.显示信息 3.修改信息 4.退出\n"); printf("请选择操作:"); scanf("%d", &choice); switch(choice){ case 1: input_students(students); break; case 2: print_students(students); break; case 3: modify_student(students); break; case 4: return 0; default: printf("输入错误!\n"); } } } ``` 关键点说明: 1. 使用`typedef`定义结构体类型`Student`,包含字符串和数组类型成员[^1][^2] 2. 结构体数组`students[MAX_STUDENTS]`用于存储多个学生数据[^3] 3. 输入函数使用循环逐个处理数组元素,注意字符串输入不需要`&` 4. 修改函数通过学号比对定位要修改的记录,使用`strcmp`进行字符串比较 5. 主程序采用菜单式交互界面,提升操作友好性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值